Ir para conteúdo

POWERED BY:

Arquivado

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

Weblur

CDOSYS não entregando para hotmail

Recommended Posts

Olá pessoal

 

Desenvolvi um sisteminha simples de Newsletter q funcionava perfeitamente até ontem.

Hoje, ao fazer o envio, todos os e-mails enviados pra remetentes @hotmail.com estão voltando.

 

O sistema utiliza CDOSYS, e está hospedado no terra.

 

Cód:

----------------------------------------------------

'cria o objeto para o envio de e-mail

Set objCDOSYSMail = Server.CreateObject("CDO.Message")

'cria o objeto para configuração do SMTP

Set objCDOSYSCon = Server.CreateObject ("CDO.Configuration")

'SMTP

objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/con...ion/smtpserver") = "mail-fwd"

'porta do SMTP

objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/con...smtpserverport") = 25

'porta do CDO

objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/con...tion/sendusing") = 2

'timeout

objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/con...nectiontimeout") = 30

objCDOSYSCon.Fields.update

'atualiza a configuração do CDOSYS para o envio do e-mail

Set objCDOSYSMail.Configuration = objCDOSYSCon

'e-mail do remetente

objCDOSYSMail.From = email@dominio.com.br

'e-mail do destinatário

objCDOSYSMail.To = email

'assunto da mensagem

objCDOSYSMail.Subject = assunto

'conteúdo da mensagem

'objCDOSYSMail.TextBody = conteudo

'para envio da mensagem no formato html altere o TextBody para HtmlBody

objCDOSYSMail.HtmlBody = conteudo

'objCDOSYSMail.fields.update

'envia o e-mail

objCDOSYSMail.Send

 

 

'destrói os objetos

Set objCDOSYSMail = Nothing

Set objCDOSYSCon = Nothing

 

----------------------------------------

 

Alguém me ajuda??

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu tenho um site hospedado no terra também... e ontem eu fui mandar a newsletter e voltou 500 e-mails do hotmail e msn...

o suporte do terra não esclarece nada... a única coisa que eles me falaram é que estão com problemas com o hotmail e que a culpa não era deles... vai entender.

 

esse semana ta sendo complicada... eu to com problema que alguns e-mails estão indo duplicados e até triplicados... segundo eles é pq tem e-mails invalido no meu bd, mas até peço ajuda se alguém souber o que pode ser, agradeço muito

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gustavo, o suporte do Terra nunca ajuda, infelizmente.

 

Tenho contato com um funcionário do departamento de Ouvidoria. Enviei e-mail pra ele relatando o problema.

Ele disse q vai averiguar e q depois retorna.

 

Mas sua resposta foi ótima, uma vez q comprova q o problema não está no meu script, e sim, no servidor do Terra.

 

Qq novidade eu te aviso, e se você tiver alguma, me avisa tb??

 

Abraços,

Luciana

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Luciana,

 

é pelo jeito não é erro no código, porque o e-mail vai, só que é classificado como SPAM e volta. Só os do hotmail.

Se tiveres notícia me avisa...

Antes quando o terra usava o cdonts tudo era mais fácil, não entendi essa "evolução" do cdosys:

- cancela se algum e-mail é invalido (no cdonts não)

- alguns e-mails tipo gov, org, net são classificados como inválidos

- é mais lento

- e comigo, pelo ao menos, estão indo e-mails duplicados

 

esse é o código que eu usei pra enviar a newsletter

 

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

	On Error Resume Next	

	Do 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/smtpserverport") = 25 
		objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
		objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 30 
		objCDOSYSCon.Fields.update 
		Set objCDOSYSMail.Configuration = objCDOSYSCon 
		objCDOSYSMail.From = RSBODY("From_Email")
		objCDOSYSMail.To =  RS("Email")
		objCDOSYSMail.Subject = Request("Subject")
		If (Request("Format") = "Text") Then
			objCDOSYSMail.TextBody = Request("Body")
		Else
			objCDOSYSMail.HTMLBody = Request("Body")
		End If	
		objCDOSYSMail.Send 
		RS.movenext	
	Loop

	Set objCDOSYSMail = Nothing 
	Set objCDOSYSCon = Nothing

se alguém souber porque estão sendo enviados e-mails mais de uma vez para o mesmo destinatario, por favor, me ajude! :-)

obs: não são repetidos no banco de dados, e existem e-mails inválidos no banco, mas são ignorados (eu acho) pelo comando On Error Resume Next

 

abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Gustavo

 

Realmente, essa migração pro CDOSYS foi uma porcaria, o CDONTS funcionava perfeitamente.

 

Qto ao seu cód, achei q com a instrução On Error Resume Next isso ficasse resolvido. No meu não tenho isso, e certamente tenho e-mails inválidos no bd. No CDONTS ele ignorava e seguia mandando. Pelo jeito, vou ter q por esse comando tb.

 

 

 

Olhei seu cód e achei essa diferença:

O meu tá assim:

 

while not (rs.eof) and not (rs.bof)

Compartilhar este post


Link para o post
Compartilhar em outros sites

to mandando uma newsletter agora e já estão voltando os e-mails do hotmail...

 

pois é... agora eu não sei... while not (rs.eof) and not (rs.bof)

seria algo como faça enquanto rs não acabar e enquanto não começar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acho q sim, não tenho certeza.

 

To fazendo um teste agora mudando o smtpserver. Coloquei localhost, q me falaram q funciona tb.

Mas ainda não recebi nenhuma mensagem (fiz um bd só com e-mails meus para teste).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Me diga uma coisa: qtos e-mails você tem cadastrado na sua Newsletter?? você manda todos de uma única vez??

 

Eu tenho 17.000 e tenho mandado de 1.000 em 1.000....

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu mando pra 3.800 com aquele script, manda um de cada vez, sem espaço de tempo entre eles

demora uns 25min

 

acho que isso não é certo, mas...

Compartilhar este post


Link para o post
Compartilhar em outros sites

agora eu percebi que não é só de hotmail...

alguns outros e-mails @dominio estão sendo classificados como spam também...

 

alguém no fórum sabe porque disso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tem que definir o host do SMTP, o hotmail e diversos outros usam esse parâmetro (que vai no cabeçalho do e-mail) para validar se pode ser ou não um SPAM, a falta dele já caracteriza como.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O Terra fornece esse: "mail-fwd"

 

Mas se eu colocar smtp.terra.com.br ele não vai dizer q muitos e-mails estão vindo do mesmo IP e tal e considerar prática de spam, a exemplo q acontece com alguns programas de mala-direta, onde temos q fornecer o smtp do servidor??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nesse LINK tem alguns exemplos, alguns indicando como é o uso da autenticação de SMTP.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Salgado, obrigada pelo link.

 

Meu inglês é meio fraco, mas achei ali (se é q entendi) uma coisa super interessante e q eu estava correndo atrás: confirmação de recebimento!!

 

Seria apenas eu acrescentar essas linhas??

 

Const cdoSendUsingPickup = 1 
Const cdoSendUsingPort = 2 'Must use this to use Delivery Notification
Const cdoAnonymous = 0
Const cdoBasic = 1 ' clear text
Const cdoNTLM = 2 'NTLM
'Delivery Status Notifications
Const cdoDSNDefault = 0 'None
Const cdoDSNNever = 1 'None
Const cdoDSNFailure = 2 'Failure
Const cdoDSNSuccess = 4 'Success
Const cdoDSNDelay = 8 'Delay
Const cdoDSNSuccessFailOrDelay = 14 'Success, failure or delay

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gustavo, como te falei ontem, entrei em contato com um contato q tenho lá dentro.

Hoje recebi ligação do suporte do Terra. Eles estão averiguando meu caso e me prometeram uma solução até amanhã.

Informei q to passando por isso com 3 domínios, e q tinha um amigo, no caso você, q tb tava com os mesmos problemas.

você quer me informar os teus domínios para eu passar pra ele tb??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Gustavo, boas notícias!!

 

Testei agora e já to recebendo no hotmail, só q como LIXO ELETRÔNICO, coisa q antes não acontecia.....

Mas já é um progresso. Tente aí e me diga.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é verdade...

hoje (29) a newsletter que eu enviei foi normalmente para hotmail...

só para alguns dominios de agência de publicidade voltaram como spam...

e para ig voltou tb como spam

 

mas já é um progresso... vo ver amanhã...

 

abs

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha o e-mail que eu recebi:

 

"

Pessoal, cuidem no envio... recebi 10 vezes o mesmo arquivo...

"

 

não sei mais o que fazer...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Comigo vai certinho, pegue meu script e faça um teste.

 

A única coisa é q o hotmail recebe como lixo eletrônico.

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.