Ir para conteúdo

POWERED BY:

Arquivado

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

alebae

Newsletter usando CDOSys

Recommended Posts

Olá

Tenho problemas com uma newsletter usando o componente de email CDOSys...ele retorna que a página não pode ser exibida, sem a definição do erro...

 

Veja o código

<%
' Declaring variables
Dim rs, mail, subject, message, data_source, sql_select, no
no = 0
subject = Request.Form("subject")
message = Request.Form("message")
' Adding a link to all messages by which users can delete their
' emails if they would want later
message = message & vbcrlf & vbcrlf
message = message & "Se não desejar receber nossos e-mails, clique aqui :" 
message = message & vbcrlf
' **************************************** ALTERAR A LINHA DE BAIXO *******************************************************************************
message = message & "http://www.tsinet.com.br/newsletter/deletar.asp?email="
sql_select = "select email from users"
data_source = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _ 

	Server.MapPath("mail.mdb")
' Check to see if you have not pressed the 'send' button mistakenly
If Len(message) Then
' If you have written some message then lets send it
' You can use  ASP Email component of your choice, here I will
' stick with CDO

Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql_select, data_source
While Not rs.EOF
Set objCDOSYSMail = Server.CreateObject("CDO.Message") 
Set objCDOSYSCon = Server.CreateObject("CDO.Configuration")
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "mail-fwd" 
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
objCDOSYSCon.Fields.update
set objCDOSYSMail.Configuration = objCDOSYSCon

objCDOSYSMail.From = "vendas@tsinet.com.br"
objCDOSYSMail.To = rs("email")
objCDOSYSMail.Subject = subject
objCDOSYSMail.TextBody = message & rs("email")
objCDOSYSMail.Send

Set objCDOSYSMail = Nothing 
Set objCDOSYSCon = Nothing
no = no + 1
rs.MoveNext
Wend
' When messages have been sent to all the users, exit
Response.Write "Email enviado a " & no & " usuários."
rs.Close
Set rs = Nothing
' Had you pressed the button mistakenly with text area empty, then
' redirect back to the HTML Form
Else
Response.Redirect "admin.htm"
End If
	%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olha... como nao tenho o seu bd para testar aki.. testei apenas o código do CDOSYS

 

<%
' Declaring variables
Dim rs, mail, subject, message, data_source, sql_select, no
no = 0
subject = Request.Form("subject")
message = Request.Form("message")
' Adding a link to all messages by which users can delete their
' emails if they would want later
message = message & vbcrlf & vbcrlf
message = message & "Se não desejar receber nossos e-mails, clique aqui :"
message = message & vbcrlf
' **************************************** ALTERAR A LINHA DE BAIXO *******************************************************************************
message = message & "http://www.tsinet.com.br/newsletter/deletar.asp?email="
sql_select = "select email from users"
data_source = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _

	Server.MapPath("mail.mdb")
' Check to see if you have not pressed the 'send' button mistakenly
If Len(message) Then
' If you have written some message then lets send it
' You can use  ASP Email component of your choice, here I will
' stick with CDO


Set objCDOSYSMail = Server.CreateObject("CDO.Message")
Set objCDOSYSCon = Server.CreateObject("CDO.Configuration")
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost"
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
objCDOSYSCon.Fields.update
set objCDOSYSMail.Configuration = objCDOSYSCon

objCDOSYSMail.From = "vendas@tsinet.com.br"
objCDOSYSMail.To = "teste@teste.com.br"
objCDOSYSMail.Subject = subject
objCDOSYSMail.TextBody = message 
objCDOSYSMail.Send

Set objCDOSYSMail = Nothing
Set objCDOSYSCon = Nothing

' When messages have been sent to all the users, exit
Response.Write "Email enviado a  usuários."
' Had you pressed the button mistakenly with text area empty, then
' redirect back to the HTML Form
Else
Response.Redirect "admin.htm"
End If
	%>

 

Apenas alterei o SMTPSERVER para localhost, pois com o que estava acusava erro de comunicação com o servidor.. e o e-mail do destinatário..

 

Recebi os e-mails sem problemas aki...

 

Verifique se não é algum erro da sua instrução SQL, ou como ocorreu comigo, de comunicação com o Server SMTP..

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom...

Eu testei o localhost, mas o pessoal do Terra Empresas afirmou que seria ideal que eu colocasse mail-fwd, por causa da caixa de spam's dos provedores de email's....

 

Sobre o destinatário eu testei tirando o rs("email") por um email qualquer, continua dando erro...mas preferi manter o rs("email"), pois os destinatários deverão estar na minha base de dados...

 

Sobre as instruções SQL, conferi com os nomes, e eles batem certinho

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas ele nao acusa nenhum erro ???

 

Simplesmente nao manda a msg ??

 

Ele redireciona para a pagina "admin.htm" ??

 

Qlqr erro no codigo ele acusa, mesmo que seja o menor deles....

 

Va testando por partes.... teste somente o SQL, depois somente o envio do e-mail.. e veja oq está ou não funcionando...

 

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Descobri o erro!

É que o servidor do Terra Empresas está dando problemas...

Eu apertei 7 vezes seguidas o botão de enviar, e ele mandou a newsletter :rolleyes:

 

Mas, não sei é permitido neste tópico, mas outra dúvida. Coloquei o formato de envio do email como HTML, tudo certo. Mas o nessa parte do código existe:

message = message & "http://www.tsinet.com.br/newsletter/deletar.asp?email="
sql_select = "select email from users"
data_source = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _ 

	Server.MapPath("mail.mdb")

Eu precisaria colocar um <a href> lá dentro, mas me perco na horas das aspas, como proceder?

 

Muito Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

message = message & "<a href = 'http://www.tsinet.com.br/newsletter/deletar.asp?email='> Click Me! "

Abraços...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hum...

Uma pergunta...

Eu tentei colocar

message = message & "<a href='http://www.tsinet.com.br/newsletter/deletar.asp?email='
sql_select = "select email from users"
data_source = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & _ 

	Server.MapPath("mail.mdb")>Clique Aqui  "

Porém deu erro...pois gostaria que somente a mensagem clique aqui, fosse na tela, pois ele fica assim Clique Aqui emailaserdeletado@teste.com.br

 

 

Grato

Alexandre

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.