2015-02-25 2 views
0

J'essaie d'envoyer des emails avec ASP et IIS 8.5 classiques pour que j'utilise le service SMTP (pas de serveur SMTP) dans IIS et un compte de messagerie de Gmail.Comment envoyer un email avec un service SMTP avec IIS8 et ASP classique?

Le message d'erreur lorsque je teste la page est:

 
CDO.Message.1 error '80040213' 

Error de transporte en la conexión al servidor. 

/anotala/prueba-Email.asp, línea 38 

Mys code ASP est:

Set objConfig = Server.CreateObject("CDO.Configuration") 
Set Fields = objConfig.Fields 

With Fields 
.Item(cdoSendUsingMethod)  = cdoSendUsingPort 
.Item(cdoSMTPServer)   = "smtp.gmail.com" 

.Item(cdoSMTPServerPort)  = 25 
'.Item(cdoSMTPConnectionTimeout) = 10 
.Item(cdoSMTPAuthenticate)  = cdoBasic 
.Item(cdoSendUserName)   = "[email protected]" 
.Item(cdoSendPassword)   = "pwd123" 

.Update 
End With 

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

Set objMessage.Configuration = objConfig 

With objMessage 
.To  = "[email protected]" 
.From  = "[email protected]"     
.Subject = "Prueba Nro. 1" 
.TextBody = "Este es el cuerpo de la prueba Nro. 1" 
.Send 
End With 

Telle est la configuration de l'IIS:

enter image description here

Je voudrais savoir où est le problème et comment puis-je le résoudre?

http://www.w3schools.com/asp/asp_send_email.asp https://support.google.com/a/answer/176600?hl=es

+0

http://www.paulsadowski.com/wsh/cdo.htm – DimaSUN

+0

y trouve la ligne .Item ("http://schemas.microsoft.com/cdo/configuration/sendusing ") = 2 – DimaSUN

Répondre

1

À partir de votre code, il semble que si vous configurez votre connexion smtp dans le code sur l'utilisation de votre configuration IIS. Je ne crois pas que vous pouvez utiliser votre configuration IIS avec CDOSYS (voir la réponse ici: https://stackoverflow.com/a/6489539/3915817). Vous alrerady avez correctement configuré dans votre code, mais cette ligne

.Item(cdoSMTPServer)   = "smtp.gmail.com" 

Indique que vous utilisez le SSL seule version de la connexion smtp de Google. C'est en fait bon car vous voudrez probablement crypter votre nom d'utilisateur et votre mot de passe de toute façon et ne pas les envoyer en texte brut. Vous devez cependant indiquer à CDOSYS d'utiliser SSL. vous pouvez le faire en utilisant d'abord le port correct basé sur l'API de Google, donc je changerais ce votre ligne de port:

.Item(cdoSMTPServerPort)  = 465 

et vous devez configurer l'activation de SSL en ajoutant un autre

Const cdoSendTLS = "http://schemas.microsoft.com/cdo/configuration/smtpusessl" 

constante et ajoutez la ligne d'article à votre champs bloquer comme tant

.Item(cdoSendTLS) = 1 

Sources:

http://www.saotn.org/authenticated-smtp-tlsscript-example-asp-php-aspnet-csharp-vbnet/#auth_smtp_tls_classic_asp

http://webcheatsheet.com/asp/sending_email_asp.php#remoteservergmail

+1

J'ai ajouté ces lignes: .Item (" http://schemas.microsoft.com/cdo/configuration/sendusing ") = 2 .Item (" http://schemas.microsoft.com/cdo/configuration/smtpserver ") =" smtp.gmail.com " .Item (" http://schemas.microsoft.com/cdo/configuration/smtpserverport ") = 465 .Item (" http: // schémas .microsoft.com/cdo/configuration/sendusername ") =" [email protected] " .Item (" http://schemas.microsoft.com/cdo/configuration/sendpassword ") =" mot de passe " .Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") \t \t = true .Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") \t = 1 – Artemination