DSN : Notification d’état de livraison pour les e-mails SMTP
Les notifications d’état de livraison (DSN) existent depuis la RFC 821 (1982). Une fois que la partie DATA du protocole SMTP est terminée et que le serveur accepte l’e-mail pour l’envoi, le DSN s’en charge. Si pour une raison quelconque, l’e-mail ne parvient pas au destinataire, le DSN doit le renvoyer à l’expéditeur d’origine avec une notification d’erreur.
Cette ancienne convention signifie soit que vous obtenez un message d’erreur, soit rien. L’e-mail peut ou non être arrivé. Dans de nombreux cas, un message d’erreur est aussi utile que l’absence de message d’erreur.
Extension DSN pour SMTP
La RFC 1891 propose des extensions du protocole SMTP qui devraient aboutir à un système DSN plus fiable et disponible. Il s’agit d’un ensemble d’extensions des commandes MAIL et RCPT.
Pas d’EHLO, pas de plaisir
Tout d’abord, assurez-vous que le serveur prend en charge DSN, c’est-à-dire dites EHLO et écoutez attentivement. S’il répond avec un DSN quelque part dans la liste des fonctionnalités, il pourra répondre à la demande. Sinon, essayez un autre serveur ou revenez au courrier électronique sans DSN. Par exemple:
220 larose.magnet.at ESMTP Sendmail 8.8.6/8.8.6; Dim 24 août 1997 18:23:22 +0200
Hôte local EHLO
250-larose.magnet.at bonjour localhost [127.0.0.1]Ravi de vous rencontrer
250-EXPN
250 – Verbes
MIME 250-8 bits
250 taille
250-DSN
250-ONEX
250-ETRN
250-XUSR
250 aide
Extension d’expéditeur DSN
La commande suivante est généralement MAIL FROM. Pour les DSN, cela ne fait pas exception. Mais vous pouvez émettre deux options supplémentaires : RET et ENVID.
L’option RET est placée arbitrairement dans la commande MAIL, mais elle convient ici aussi bien qu’ailleurs. Le but est de spécifier quelle partie du message d’origine doit être renvoyée en cas d’échec de la livraison. Les paramètres valides sont FULL et HDRS. FULL signifie que le message complet doit être inclus dans le message d’erreur. HDRS demande au serveur de renvoyer uniquement les en-têtes des messages ayant échoué. Si RET n’est pas spécifié, c’est au serveur de décider quoi faire. HDRS est la valeur par défaut dans la plupart des cas.
L’ENVID appartient à l’expéditeur car l’expéditeur ou (plus précisément) le client de messagerie de l’expéditeur sera le seul à utiliser cet identifiant d’enveloppe. Son but est d’indiquer à l’expéditeur à quel message électronique correspond un éventuel message d’erreur. Le format de cet ID est laissé à l’imagination de l’expéditeur. ENVID n’est pas utilisé dans cet exemple :
Expéditeur de l’e-mail : expéditeur@exemple.com RET=HDRS
250 expéditeur@exemple.com…Expéditeur OK
Extension du destinataire DSN
RCPT TO reçoit également sa juste part d’extensions : NOTIFY et ORCPT. NOTIFY est le cœur du DSN. Il indique au serveur quand envoyer des notifications d’état de livraison. Les options incluent :
- NEVER signifie que la DSN ne doit en aucun cas être retournée à l’expéditeur. Cela ne serait pas possible sans DSN.
- SUCCESS vous avertit lorsque le courrier arrive à destination.
- FAILURE délivre le DSN si une erreur survient lors de la livraison.
- DELAY envoie une notification si une livraison est anormalement retardée, mais le résultat (succès ou échec) de la livraison réelle n’a pas encore été déterminé.
Si spécifié, NEVER doit être le seul paramètre. Trois autres peuvent apparaître dans la liste, séparés par des virgules.
Le but d’ORCPT est de conserver le destinataire d’origine d’un message électronique, par exemple, s’il a été transféré à une autre adresse. Les arguments de cette option sont l’adresse e-mail du destinataire d’origine et le type d’adresse. Le type d’adresse vient en premier, puis le point-virgule et enfin l’adresse. Par exemple:
RCPT à : support@example.com NOTIFY=FAILURE,DELAY ORCPT=rfc822;support@example.com
250 support@example.com… destinataire OK (sera mis en file d’attente)
Ceci est suivi de DATA et d’une notification d’état de livraison réussie.
La DSN est-elle valide ?
Un DSN n’est valide que si l’agent de transfert de courrier de l’expéditeur au destinataire prend en charge le DSN.
Merci de nous en informer!
Recevez chaque jour les dernières actualités technologiques
abonnement
Dites-nous pourquoi !
D’autres ne sont pas assez détaillés pour comprendre