Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia pessoal, estou com um problema para enviar e-mails. A empresa está em mudança do site (que ja esta pronto), mas nos testes do site novo (que ja esta no ar) para envio de e-mail está retornando o erro 424 - Objeto necessário, sendo que no antigo funciona normalmente.
Antes que digam, o servidor usa CDONTS. O mesmo está configurado e funcionando e não querem usar CDOSYS (creio que nao vem ao caso aqui)
Eis o código:
<%If Request("btnEnviar") = "Enviar" Then
On Error Resume Next
Dim Nome, Telefone, Email, Mensagem, Destinatario
Nome = Trim(Request.Form("nome"))
Telefone = Trim(Request.Form("tel"))
Email = Trim(Request.Form("email"))
Mensagem = Trim(Request.Form("msg"))
Destinatario = Trim(Request.Form("destinatario"))
Set RsEmail = Server.CreateObject("CDONTS.NewMail")
RsEmail.From = Email
RsEmail.To = Destinatario
RsEmail.Subject = "Novo Contato Site"
RsEmail.Body = "<strong>Nome:</strong>" & Nome & "<br><strong>Telefone:</strong>" & Telefone & "<br><strong>E-mail:</strong>" & Email & "<br><strong>Mensagem:</strong>" & Mensagem
RsEmail.BodyFormat = 0
RsEmail.MailFormat = 0
RsMail.Send
Set RsEmail = Nothing
If Err.Number = 0 Then
Response.Write("<div id='mensagemok'>Obrigado! Sua mensagem foi enviada com sucesso!</div>")
Else
Response.Write("<div id='mensagem'>Erro: " & Err.Description & " - " & Err.Number & "</div>")
End If
Else%>
<div id="frm">
<form action="faleconosco.asp" method="post" name="frmContato" id="frmContato" onSubmit="return performCheck('frmContato',rules,'inline');">
<label for="nome">Nome:</label><br />
<input name="nome" type="text" id="nome" size="60" title="Somente letras [A-z], não é permitido caracteres especiais." /><div id="lbl_nome"></div><br />
<label for="tel">Telefone:</label><br />
<input name="tel" type="text" id="tel" size="60" onKeyPress="return Mascara(event,this,'## ####-####');" maxlength="12" title="Somente numeros [0-9]. <strong>Não insira pontuações.</strong>" /><div id="lbl_tel"></div><br />
<label for="email">E-mail:</label><br />
<input name="email" type="text" id="email" size="60" title="Insira um e-mail válido." /><div id="lbl_email"></div><br />
<label for="msg">Mensagem:</label><br />
<textarea name="msg" id="msg"/></textarea><div id="lbl_msg"></div><br /><br />
<select id="destinatario" name="destinatario">
<option value="teste@digimed.ind.br"></option>
</select>
<a href="<%=Request.ServerVariables("HTTP_REFERER")%>"><input type="button" value="Voltar" /></a>
<input type="reset" value="Limpar" />
<input name="btnEnviar" id="btnEnviar" type="submit" value="Enviar" />
</form>
Se por gentileza pudessem verificar se há algum erro no código ou algo que tenha que ser alterado eu agradeço, pois se caso não for terei que ver no servidor novamente.
Obs: o email existe.
Grato.
>
Verifique com o suporte de hospedagem se o CDONTS esta instalado no servidor, possivelmente é por ele não esta ativado no novo servidor.
é o mesmo servidor amigo. E esta funcionando normalmente
verifique se para essa conta esta habiilitado o serviço de CDONTS, com o é no mesmo servidor, provavelmente esta instalado, até mesmo que isso é padrão em IIS, o servidor tem que ter o CDONTS.DLL registrado e para tirar a prova execute o code abaixo para ver se esta instalado. este code verifica os componentes instalados,
componentes instalado.
<%
Dim arrListaComponentes(48)
arrListaComponentes(0) = Array( "AB Mailer","ABMailer.Mailman" )
arrListaComponentes(1) = Array( "ABC Upload","ABCUpload4.XForm" )
arrListaComponentes(2) = Array( "ActiveFile","ActiveFile.Post" )
arrListaComponentes(3) = Array( "ActiveX Data Object","ADODB.Connection" )
arrListaComponentes(4) = Array( "Adiscon SimpleMail","ADISCON.SimpleMail.1" )
arrListaComponentes(5) = Array( "ASP DNS", "AspDNS.Lookup" )
arrListaComponentes(6) = Array( "ASP HTTP","AspHTTP.Conn" )
arrListaComponentes(7) = Array( "ASP Image","AspImage.Image" )
arrListaComponentes(8) = Array( "ASP Mail","SMTPsvg.Mailer" )
arrListaComponentes(9) = Array( "ASP NNTP News", "AspNNTP.Conn" )
arrListaComponentes(10) = Array( "ASP POP 3", "POP3svg.Mailer" )
arrListaComponentes(11) = Array( "ASP Simple Upload","ASPSimpleUpload.Upload" )
arrListaComponentes(12) = Array( "ASP Smart Cache","aspSmartCache.SmartCache" )
arrListaComponentes(13) = Array( "ASP Smart Mail","aspSmartMail.SmartMail" )
arrListaComponentes(14) = Array( "ASP Smart Upload","aspSmartUpload.SmartUpload" )
arrListaComponentes(15) = Array( "ASP Tear","SOFTWING.ASPtear" )
arrListaComponentes(16) = Array( "ASP Thumbnailer","ASPThumbnailer.Thumbnail" )
arrListaComponentes(17) = Array( "ASP WhoIs","WhoIs2.WhoIs" )
arrListaComponentes(18) = Array( "ASPSoft NT Object","ASPSoft.NT" )
arrListaComponentes(19) = Array( "ASPSoft Upload","ASPSoft.Upload" )
arrListaComponentes(20) = Array( "CDO NTS","CDONTS.NewMail" )
arrListaComponentes(21) = Array( "Chestysoft Image","csImageFile.Manage" )
arrListaComponentes(22) = Array( "Chestysoft Upload","csASPUpload.Process" )
arrListaComponentes(23) = Array( "Dimac JMail","JMail.Message" )
arrListaComponentes(24) = Array( "Distinct SMTP","DistinctServerSmtp.SmtpCtrl" )
arrListaComponentes(25) = Array( "Dundas Mailer","Dundas.Mailer" )
arrListaComponentes(26) = Array( "Dundas Upload","Dundas.Upload.2" )
arrListaComponentes(27) = Array( "Dundas PieChartServer", "Dundas.ChartServer.2")
arrListaComponentes(28) = Array( "Dundas 2D Chart", "Dundas.ChartServer2D.1")
arrListaComponentes(29) = Array( "Dundas 3D Chart", "Dundas.ChartServer")
arrListaComponentes(30) = Array( "Dynu Encrypt","Dynu.Encrypt" )
arrListaComponentes(31) = Array( "Dynu HTTP","Dynu.HTTP" )
arrListaComponentes(32) = Array( "Dynu Mail","Dynu.Email" )
arrListaComponentes(33) = Array( "Dynu Upload","Dynu.Upload" )
arrListaComponentes(34) = Array( "Dynu WhoIs","Dynu.Whois" )
arrListaComponentes(35) = Array( "Easy Mail","EasyMail.SMTP.5" )
arrListaComponentes(36) = Array( "File System Object","Scripting.FileSystemObject" )
arrListaComponentes(37) = Array( "Ticluse Teknologi HTTP","InteliSource.Online" )
arrListaComponentes(38) = Array( "Last Mod","LastMod.FileObj" )
arrListaComponentes(39) = Array( "Microsoft XML Engine","Microsoft.XMLDOM" )
arrListaComponentes(40) = Array( "Persits ASP JPEG","Persits.Jpeg" )
arrListaComponentes(41) = Array( "Persits ASPEmail","Persits.MailSender" )
arrListaComponentes(42) = Array( "Persits ASPEncrypt","Persits.CryptoManager" )
arrListaComponentes(43) = Array( "Persits File Upload","Persits.Upload.1" )
arrListaComponentes(44) = Array( "SMTP Mailer","SmtpMail.SmtpMail.1" )
arrListaComponentes(45) = Array( "Soft Artisans File Upload","SoftArtisans.FileUp" )
arrListaComponentes(46) = Array( "Image Size", "ImgSize.Check" )
arrListaComponentes(47) = Array( "Microsoft XML HTTP", "Microsoft.XMLHTTP" )
arrListaComponentes(48) = Array( "CDOSYS", "CDO.Message" )
' Rotina que verifica o componente do array é um objeto.
Function VerificaObjeto(pComponente)
Dim objComponente
On Error Resume Next
VerificaObjeto = False
Err.Clear
Set objComponente = Server.CreateObject(pComponente)
If Err = 0 Then VerificaObjeto = True
Set objComponente = Nothing
Err.Clear
End Function
Public Function VerificaComponentes()
Dim intCont, strTxt
Dim intIndex, strProv
intCont = 0
strTxt = "<table border='1' bordercolor='black' cellspacing='0' cellpadding='0' align='center' width='400'>"
For intIndex = LBound(arrListaComponentes) To UBound(arrListaComponentes)
strProv = intIndex
strTxt = strTxt & "<tr><td width='200'><font face='tahoma' size='1'>" & arrListaComponentes(intIndex)(0) & "</font></td>"
If VerificaObjeto(arrListaComponentes(intIndex)(1)) Then
strTxt = strTxt & "<td align=center><font color='red' face='tahoma' size='1'>Instalado</font></td>"
intCont = intCont + 1
Else
strTxt = strTxt & "<td align='center'><font face='tahoma' size='1'>Não Instalado</font></td>"
End If
strTxt = strTxt & "</tr>"strTxt = strTxt & "</table><p align='center'><font face='tahoma' size='2'><b>" & intCont & "</b> componentes instalados de "
strTxt = strTxt & "<b>" & UBound(arrListaComponentes) + 1 & "</b> no provedor.</font> </p>"Response.Write VerificaComponentes
%>
Me desculpem gente, mas o erro é meu no código.
Eu setei o objeto como RsEmail e tentei enviar usando RsMail.Send (o que estava dando erro)
Mas obrigado pela ajuda de todos
Verifique com o suporte de hospedagem se o CDONTS esta instalado no servidor, possivelmente é por ele não esta ativado no novo servidor.