Commençons par un exemple simple. Disons que vous avez une liste de diffusion , qui va envoyer le contenu RFC2822 suivant .
From: <coolstuff@mymailinglist.com>
To: <you@yourcompany.com>
Subject: Super simple email
Reply-To: <coolstuff-threadId=123@mymailinglist.com>
This is a very simple body.
Maintenant, disons que vous allez l'envoyer à partir d'une liste de diffusion, qui implémente VERP (ou un autre mécanisme de suivi de rebond qui utilise un chemin de retour différent). Disons qu'il aura un chemin de retour de coolstuff-you=yourcompany.com@mymailinglist.com
. La session SMTP peut ressembler à ceci:
{S}220 workstation1 Microsoft ESMTP MAIL Service
{C}HELO workstation1
{S}250 workstation1 Hello [127.0.0.1]
{C}MAIL FROM:<coolstuff-you=yourcompany.com@mymailinglist.com>
{S}250 2.1.0 me@mycompany.com....Sender OK
{C}RCPT TO:<you@yourcompany.com>
{S}250 2.1.5 you@yourcompany.com
{C}DATA
{S}354 Start mail input; end with <CRLF>.<CRLF>
{C}From: <coolstuff@mymailinglist.com>
To: <you@yourcompany.com>
Subject: Super simple email
Reply-To: <coolstuff-threadId=123@mymailinglist.com>
This is a very simple body.
.
{S}250 Queued mail for delivery
{C}QUIT
{S}221 Service closing transmission channel
Où {C} et {S} représentent respectivement les commandes client et serveur.
Le courrier du destinataire ressemblerait à ceci:
Return-Path: coolstuff-you=yourcompany.com@mymailinglist.com
From: <coolstuff@mymailinglist.com>
To: <you@yourcompany.com>
Subject: Super simple email
Reply-To: <coolstuff-threadId=123@mymailinglist.com>
This is a very simple body.
Maintenant, décrivons les différents «FROM».
- Le chemin de retour (parfois appelé chemin inverse, expéditeur d'enveloppe ou enveloppe de - tous ces termes peuvent être utilisés de manière interchangeable) est la valeur utilisée dans la session SMTP dans la
MAIL FROM
commande. Comme vous pouvez le voir, il n'est pas nécessaire que ce soit la même valeur que celle trouvée dans les en-têtes de message. Seul le serveur de messagerie du destinataire est censé ajouter un en-tête Return-Path en haut de l'e-mail. Cela enregistre l'expéditeur du chemin de retour réel pendant la session SMTP. Si un en-tête Return-Path existe déjà dans le message, cet en-tête est supprimé et remplacé par le serveur de messagerie du destinataire.
Tous les rebonds qui se produisent pendant la session SMTP doivent revenir à l'adresse Return-Path. Certains serveurs peuvent accepter tous les e-mails, puis les mettre en file d'attente localement, jusqu'à ce qu'il dispose d'un fil de discussion gratuit pour les remettre à la boîte aux lettres du destinataire. Si le destinataire n'existe pas, il doit le renvoyer à la valeur Return-Path enregistrée.
Notez que tous les serveurs de messagerie n'obéissent pas à cette règle; Certains serveurs de messagerie le rebondiront à l'adresse FROM.
L'adresse FROM est la valeur trouvée dans l'en-tête FROM. C'est censé être de qui vient le message. C'est ce que vous voyez comme le "FROM" dans la plupart des clients de messagerie. Si un e-mail n'a pas d'en-tête Reply-To, toutes les réponses humaines (client de messagerie) doivent retourner à l'adresse FROM.
L'en-tête Reply-To est ajouté par l'expéditeur (ou le logiciel de l'expéditeur). C'est là que toutes les réponses humaines doivent également être abordées. Fondamentalement, lorsque l'utilisateur clique sur "répondre", la valeur Reply-To doit être la valeur utilisée comme destinataire du courrier électronique nouvellement composé. La valeur Reply-To ne doit être utilisée par aucun serveur. Il est destiné à une utilisation côté client (MUA) uniquement.
Cependant, comme vous pouvez le constater, tous les serveurs de messagerie ne respectent pas les normes ou recommandations RFC.
J'espère que cela devrait aider à clarifier les choses. Cependant, si j'ai manqué quelque chose, faites-le moi savoir et j'essaierai de répondre.