Ir para conteúdo
Fórum Script Brasil
  • 0

Newslatter


marvi

Pergunta

Ola pessoal,

Eu peguei um newslatter e ele da esse erro: 424-Object required eu funcei e nada!

alguém tambem sabe um newslatter interessante que mande como se fosse a pagina do site para o e-mail?

codigo

<!--#include file="loggedin.asp"-->
<!--#include file="dsn.asp"-->
<!--#include file="body.asp"-->

<%
on error resume next
mail.Send
if err.number<>0 then
response.write("erro: "&err.number&"-"&err.description)
response.end
end if

Server.ScriptTimeout = 1000000
Set RS = Server.CreateObject("ADODB.Recordset")
Set RSBODY = Server.CreateObject("ADODB.Recordset")
SQL2 = "SELECT * from Settings"
RSBODY.Open SQL2, Conn, 1, 3

SQL = "SELECT Email FROM List"
RS.open SQL, conn

Select Case RSBODY("Component")

Case "CDONTS"

    Do While Not RS.eof
        set mailObj = Server.CreateObject("CDONTS.NewMail")
        If (Request("Format") = "Text") Then
            mailObj.BodyFormat = 1
            mailObj.MailFormat = 1
        Else
            mailObj.BodyFormat = 0
            mailObj.MailFormat = 0
        End If
        mailObj.From = RSBODY("From_Email")
        mailObj.To = RS("Email")
        mailObj.Subject = Request("Subject")
        mailObj.Body = Request("Body")
        mailObj.Send  RS.movenext
    Loop

Case "ASPMail"

    Do While Not RS.eof
        Set mailObj = Server.CreateObject("SMTPsvg.Mailer")
        If (Request("Format") = "Text") Then
            mailObj.CharSet = 2
        Else
            mailObj.ContentType = "text/html"
        End If
        mailObj.FromName = RSBODY("From_Email")
        mailObj.FromAddress= RSBODY("From_Email")
        mailObj.RemoteHost = RSBODY("SMTP")
        mailObj.Subject = Request("Subject")
        mailObj.BodyText = Request("Body")
        mailObj.AddRecipient RS("Email"),RS("Email")
        mailObj.SendMail
        RS.movenext
    Loop

Case "ASPEmail"

    Do While Not RS.eof
        Set mailObj = Server.CreateObject("Persits.MailSender")
        mailObj.Host = RSBODY("SMTP")
        mailObj.From = RSBODY("From_Email")
        mailObj.AddAddress RS("Email")
        mailObj.Subject = Request("Subject")
        mailObj.Body = Request("Body")
        If (Request("Format") = "Text") Then
            mailObj.IsHTML = False
        Else
            mailObj.IsHTML = True
        End If
        mailObj.Send
        RS.movenext
    Loop
    
End Select

IF (Request("Archive") = "on") Then
    Set RSARCHIVE = Server.CreateObject("ADODB.Recordset")
    RSARCHIVE.Open "Archive", Conn, 2, 2
    RSARCHIVE.addnew
    RSARCHIVE("Subject") = Request("Subject")
    RSARCHIVE("Body") = Request("Body")
    RSARCHIVE("Format") = request("Format")
    RSARCHIVE("Date") = Date
    RSARCHIVE.update
End If
%>

Obrigado!

Marcelo

Editado por marvi
Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

o problema é que ele não fala a linha e só o erro: 424-Object required mas eu não achei ainda onde coloca a conta smpt

Ele envia normal, mas e nunca chega os e-mails, mas quando coloco um depurador ele diz erro: 424-Object required, só

Grato

Marcelo

Link para o comentário
Compartilhar em outros sites

  • 0

Parece que você está usando um objeto antes de criar ele. Ou está tentando criar um objeto cuja classe não se encontra instalada no servidor.

"Ele envia normal, mas e nunca chega os e-mails" (Meio irônico não?) ou envia normal ou não chega o email [:)]

Veja quais componentes de e-mail estão instalados no servidor e usa só o qu está instalado, prq essa sua função aí passa por vários componentes que nem devem estar instalados!!

Link para o comentário
Compartilhar em outros sites

  • 0

Isso não tem problema, no ASP você pode declarar as variáveis no final do arquivo e usá-las logo noi início.

Se bem que esses scripts prontos aí na net... acho que os caras dão uns 10 Ctrl+Z antes de compactar e disponibilizar pra download.

Bom, se você tem conhecimento em ASP, analise o código e veja o que está errado e concerte! Faça testes, por exemplo, adiciona "Response.End" na segunda linha, depois tira e põe na terceira e vai vendo até onde ele vai sem dar erro!

Editado por Principe
Link para o comentário
Compartilhar em outros sites

  • 0

<!--#include file="loggedin.asp"-->
<!--#include file="dsn.asp"-->
<!--#include file="body.asp"-->

<%
Server.ScriptTimeout = 1000000
Set RS = Server.CreateObject("ADODB.Recordset")
Set RSBODY = Server.CreateObject("ADODB.Recordset")
SQL2 = "SELECT * from Settings" RSBODY.Open SQL2, Conn, 1, 3

SQL = "SELECT Email FROM List" RS.open SQL, conn

Select Case RSBODY("Component")

Case "CDONTS"

	Do While Not RS.eof
		set mailObj = Server.CreateObject("CDONTS.NewMail")
		If (Request("Format") = "Text") Then
			mailObj.BodyFormat = 1
			mailObj.MailFormat = 1
		Else
			mailObj.BodyFormat = 0
			mailObj.MailFormat = 0
		End If
		mailObj.From = RSBODY("From_Email")
		mailObj.To = RS("Email")
		mailObj.Subject = Request("Subject")
		mailObj.Body = Request("Body")
		mailObj.Send  RS.movenext
	Loop

Case "ASPMail"

	Do While Not RS.eof
		Set mailObj = Server.CreateObject("SMTPsvg.Mailer")
		If (Request("Format") = "Text") Then
			mailObj.CharSet = 2
		Else
			mailObj.ContentType = "text/html"
		End If
		mailObj.FromName = RSBODY("From_Email")
		mailObj.FromAddress= RSBODY("From_Email")
		mailObj.RemoteHost = RSBODY("SMTP")
		mailObj.Subject = Request("Subject")
		mailObj.BodyText = Request("Body")
		mailObj.AddRecipient RS("Email"),RS("Email")
		mailObj.SendMail
		RS.movenext
	Loop

Case "ASPEmail"

	Do While Not RS.eof
		Set mailObj = Server.CreateObject("Persits.MailSender")
		mailObj.Host = RSBODY("SMTP")
		mailObj.From = RSBODY("From_Email")
		mailObj.AddAddress RS("Email")
		mailObj.Subject = Request("Subject")
		mailObj.Body = Request("Body")
		If (Request("Format") = "Text") Then
			mailObj.IsHTML = False
		Else
			mailObj.IsHTML = True
		End If
		mailObj.Send
		RS.movenext
	Loop

End Select

IF (Request("Archive") = "on") Then
	Set RSARCHIVE = Server.CreateObject("ADODB.Recordset")
	RSARCHIVE.Open "Archive", Conn, 2, 2
	RSARCHIVE.addnew
	RSARCHIVE("Subject") = Request("Subject")
	RSARCHIVE("Body") = Request("Body")
	RSARCHIVE("Format") = request("Format")
	RSARCHIVE("Date") = Date
	RSARCHIVE.update
End If
%>

roda isso ai e poe o resultado aqui...

Link para o comentário
Compartilhar em outros sites

  • 0

Tá rodando localmente, no teu PC mesmo? Qual componente você tá usando? Veja qual é, na tabela 'Settings', o campo 'Component'!

Tem componente que precisa ter o Servidor SMTP instalado e funcionando certinho, senão só parece que deu tudo certo.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...