Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marrabel

[Resolvido] Erro 424 - Objeto Necessário

Recommended Posts

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifique com o suporte de hospedagem se o CDONTS esta instalado no servidor, possivelmente é por ele não esta ativado no novo servidor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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>"
Next
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>"
VerificaComponentes = strTxt 
End Function

Response.Write VerificaComponentes
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.