2010-09-24 3 views
2

J'écris une application en ASP classique (oui, s'il vous plait pardonnez-moi) qui envoie des e-mails en utilisant Google Mail. Je l'ai fonctionne très bien comme ceci:Le message CDO ne sera pas envoyé quand le reçu de livraison est demandé

Dim ObjSendMail 
Set ObjSendMail = CreateObject("CDO.Message") 

ObjSendMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 
ObjSendMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com" 
ObjSendMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 465 
ObjSendMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpusessl") = 1 
ObjSendMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60 
ObjSendMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1 
ObjSendMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendusername") = SendUsername 
ObjSendMail.Configuration.Fields.Item ("http://schemas.microsoft.com/cdo/configuration/sendpassword") = SendPassword 
ObjSendMail.Configuration.Fields.Update 

ObjSendMail.To = "[email protected]" 
ObjSendMail.From = "[email protected]" 
ObjSendMail.Subject = "subject here..." 
ObjSendMail.HTMLBody = "body here..." 

'ObjSendMail.Fields("urn:schemas:mailheader:disposition-notification-to") = SendUsername 
'ObjSendMail.Fields("urn:schemas:mailheader:return-receipt-to") = SendUsername 
'ObjSendMail.Fields.Update 
'ObjSendMail.DSNOptions = 14 
ObjSendMail.Send 
Set ObjSendMail = Nothing 

Quand je décommenter les lignes suivantes:

'ObjSendMail.Fields("urn:schemas:mailheader:disposition-notification-to") = SendUsername 
'ObjSendMail.Fields("urn:schemas:mailheader:return-receipt-to") = SendUsername 
'ObjSendMail.Fields.Update 
'ObjSendMail.DSNOptions = 14 

L'e-mail ne parvient pas à envoyer. Aucune erreur, juste aucun e-mail et aucun reçu de livraison. Je ne peux pas comprendre pour la vie de moi comment faire ce travail. "SendUsername" est une adresse e-mail valide. Toute aide serait appréciée.

Répondre

0

Cela ne fonctionne probablement pas parce que Gmail ne veut pas que vous le fassiez. Ce genre de chose est souvent expliquée par les spammeurs.

+0

Je reçois un avis d'échec de livraison, mais pas un avis de livraison. Je ne sais pas comment on peut mener à un exploit, mais pas l'autre. – Sparafusile

+1

@Sparafusile: Il n'est pas rare que le serveur SMTP de destination ignore la demande de notification de réussite de la distribution. Si vous regardez la spécification DSN ne demande que cette fonctionnalité, les serveurs SMTP ne sont pas obligés de l'honorer. Dans le monde réel, imaginez la charge supplémentaire que tout message potentiel représenterait. – AnthonyWJones

+0

Ok, donc le SMTP décide de ne pas envoyer de reçu de livraison, très bien. Pourquoi le code ci-dessus n'at-il pas envoyé l'e-mail en premier lieu? Y at-il une erreur dans le code qui l'empêche de fonctionner même si je n'obtiendrais jamais le résultat souhaité? – Sparafusile

Questions connexes