Ir para conteúdo

POWERED BY:

Arquivado

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

Henrique Tsubamoto

Envio de e-mail autenticado - Conta Live Hotmail

Recommended Posts

Alguem ja conseguiu enviar e-mail autenticado com uma conta do Hotmail, utilizando o CDOSYS Apps, tenho um exemplo para conta do Gmail, mas nao está funcionando com contas do Hotmail.

Alguem poderia me ajudar.

 

<% 
'CRIA A INSTANCIA COM O OBJETO CDOSYS 
Set objCDOSYSMail = Server.CreateObject("CDO.Message") 
 
'CRIA A INSTANCIA DO OBJETO PARA CONFIGURAÇÃO DO SMTP 
Set objCDOSYSCon = Server.CreateObject ("CDO.Configuration") 
 
'SERVIDOR DE SMTP 
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com" 
 
'PORTA PARA COMUNICAÇÃO COM O SERVIÇO DE SMTP 
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465 
 
'PORTA DO CDO 
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 
 
'Utilização de SSl 
objCDOSYSCon.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
 
'ATIVAR RECURSO DE SMTP AUTENTICADO 
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 
 
'USU?RIO PARA SMTP AUTENTICADO 
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "usuario@dominio.com" 
 
'SENHA DO USU?RIO PARA SMTP AUTENTICADO 
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "senha" 
 
'TEMPO DE TIMEOUT (EM SEGUNDOS) 
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 
 
'ATUALIZA A CONFIGURAÇÃO DO CDOSYS PARA ENVIO DO E-MAIL 
objCDOSYSCon.Fields.update 
Set objCDOSYSMail.Configuration = objCDOSYSCon 
 
'NOME DO REMETENTE, E-MAIL DO REMETENTE 
objCDOSYSMail.From = "Remetente <usuário@dominio.com>" 
 
'NOME DO DESINATARIO, E-MAIL DO DESINATÁRIO 
objCDOSYSMail.To = "NOME <destino@dominio.com>"
'objCDOSYSMail.cc = "Copia <copia@dominio.com>" 
'objCDOSYSMail.bcc = "Copia Oculta <copiaoculta@dominio.com>" 
 
 
'ASSUNTO DA MENSAGEM 
objCDOSYSMail.Subject = " Envio autenticado - CDOSYS Apps" 
 
'CONTEÚDO DA MENSAGEM 
objCDOSYSMail.TextBody = "Teste do componente CDOSYS - Texto sem HTML" 
'PARA ENVIO DA MENSAGEM NO FORMATO HTML, ALTERE O TextBody PARA HtmlBody 
 
'objCDOSYSMail.HtmlBody = "<html> <head><meta http-equiv=""Content-Type"" content=""text/html;charset=utf-8""></head><body></body></html>" 
 
'ENVIA A MENSAGEM 
objCDOSYSMail.Send 
 
'DESTR?I OS OBJETOS 
Set objCDOSYSMail = Nothing 
Set objCDOSYSCon = Nothing 
 
response.write "Email enviado com sucesso" 
 
'Response.Redirect "Enviado.asp" 
%>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

SMTP ................. smtp.live.com
Porta ......................... 587
Email ............... qualquer@hotmail.com
Método Autenticação ........... Normal password

e caso a config. acima não funcione, inclua isto no code

 

.Append("urn:schemas:mailheader:x-msmail-priority") = "Normal".Update

 

E se mesmo assim não funcionar, poste o nº do erro gerado ?

Compartilhar este post


Link para o post
Compartilhar em outros sites
<% 
	Set objCDOSYSMail = Server.CreateObject("CDO.Message") 
	Set objCDOSYSCon = Server.CreateObject ("CDO.Configuration") 
	
	objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.live.com" 
	objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 587 
	objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 
	objCDOSYSCon.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = True
	objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 
	objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "xxx@hotmail.com" 
	objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "xxx" 
	objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 
	
	'objCDOSYSCon.Fields.Append("urn:schemas:mailheader:x-msmail-priority") = "Normal"
	objCDOSYSCon.Fields.update 
	
	Set objCDOSYSMail.Configuration = objCDOSYSCon 
	objCDOSYSMail.From = "Teste <xxx@hotmail.com>" 
	objCDOSYSMail.To = "Teste <xxx@hotmail.com>"
	
	objCDOSYSMail.Subject = "Teste" 
	objCDOSYSMail.TextBody = "Corpo" 
	objCDOSYSMail.Send 
	 
	Set objCDOSYSMail = Nothing 
	Set objCDOSYSCon = Nothing 
	 
	response.write "Email enviado com sucesso" 
%>

CDO.Message.1 error '80040213'

The transport failed to connect to the server.

/teste/Index.asp, line 23

 

deu o erro nesse comando objCDOSYSMail.Send tem algo mau configurado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui, por incrível que pareça o problema era o número da porta, só funciona com a 25.

 

Segue abaixo:

 

<% 
	Set objCDOSYSMail = Server.CreateObject("CDO.Message") 
	Set objCDOSYSCon  = Server.CreateObject("CDO.Configuration") 
	
	str = "http://schemas.microsoft.com/cdo/configuration/"
	
	objCDOSYSCon.Fields(str & "smtpserver")            = "smtp.live.com" 
	objCDOSYSCon.Fields(str & "smtpserverport")        = 25
	objCDOSYSCon.Fields(str & "sendusing")             = 2
	objCDOSYSCon.Fields(str & "smtpusessl")            = True
	objCDOSYSCon.Fields(str & "smtpauthenticate")      = 1 
	objCDOSYSCon.Fields(str & "sendusername")          = "xxx@hotmail.com" 
	objCDOSYSCon.Fields(str & "sendpassword")          = "xxx" 
	objCDOSYSCon.Fields(str & "smtpconnectiontimeout") = 60 
	objCDOSYSCon.Fields.update 
	
	Set objCDOSYSMail.Configuration = objCDOSYSCon 
	
	objCDOSYSMail.From     = "Nome <xxx@hotmail.com>" 
	objCDOSYSMail.To       = "Nome <xxx@xxx.xxx>"
	objCDOSYSMail.Subject  = "Assunto" 
	objCDOSYSMail.TextBody = "Conteúdo" 
	
	objCDOSYSMail.Send 
	 
	Set objCDOSYSMail = Nothing 
	Set objCDOSYSCon  = Nothing 
	 
	response.write "Email enviado com sucesso" 
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

vc esta usando localhost ou esta em algum server ?

pois geralmnete é a 587, devido a 25 possuir uma vulnerabilidade maior a ataques e interceptação de mensagens, além de não exigir autenticação para envio das mensagens, ao contrário da 587 que oferece esta segurança a mais.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O meu caso era especifico, tinha que conseguir enviar mensagens autenticadas com conta do live, e usar o cdontsys.

 

Esta foi a unica forma que consegui, mas pelo que vi é uma forma bem segura, o host é o stmp.live.com e so envia se autenticar com usuario e senha e utilizar ssl.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é com o smtpusessl = True e deixando o recurso de SMTP AUTENTICADO ativado, e a enumeração CdoProtocolsAuthentication usadoa para definir o campo SMTPAuthenticate e o campo nntpauthenticate em um objeto de configuração CoClass. Usando esta enumeração, você pode especificar o mecanismo de autenticação (se houver) e utilizado para realizar a autenticação com SMTP ou Network News Transfer Protocol (NNTP) ao enviar ou postar mensagens na rede. Enviar ou postar mensagens sobre a rede usando o protocolo TCP / IP e SMTP / NNTP / é controlado usando o campo SendUsing e postusing Field. fica um pouco mais seguro, mas como disse anteriormente está é uma porta obsoleta, mas como no seu caso precisou,
e certifique-se que as config. de seu server esteja corretamente setadas.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é com o smtpusessl = True e deixando o recurso de SMTP AUTENTICADO ativado, e a enumeração CdoProtocolsAuthentication usadoa para definir o campo SMTPAuthenticate e o campo nntpauthenticate em um objeto de configuração CoClass. Usando esta enumeração, você pode especificar o mecanismo de autenticação (se houver) e utilizado para realizar a autenticação com SMTP ou Network News Transfer Protocol (NNTP) ao enviar ou postar mensagens na rede. Enviar ou postar mensagens sobre a rede usando o protocolo TCP / IP e SMTP / NNTP / é controlado usando o campo SendUsing e postusing Field. fica um pouco mais seguro, mas como disse anteriormente está é uma porta obsoleta, mas como no seu caso precisou,

e certifique-se que as config. de seu server esteja corretamente setadas.

 

Você conseguiria fazer uma funcao que utilize a porta 587 e funcione no meu servidor, estou tendo problemas de lentidao e o hotmail sempre acusa de spam, tenho q fazer diversas confirmacoes. Caso sim, poderiamos negociar um honorario.

Compartilhar este post


Link para o post
Compartilhar em outros sites

envie me um email para xanburzum@terra.com.br

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.