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.
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
@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
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