Quelle est la différence entre Sender, From et Return-Path?

138

Quelle est la différence entre un expéditeur de courrier électronique, une valeur De et un chemin de retour?

Exemple : j'ai un formulaire de contact dans lequel l'utilisateur peut saisir son e-mail, est-ce que cela serait attribué à l'expéditeur, à partir ou au chemin de retour?

J'ai effectué une recherche rapide sur StackOverflow et je n'ai rien trouvé d'utile.

Le développeur Pixel
la source

Réponses:

172

Ainsi, via SMTP, lorsqu'un message est soumis, l'enveloppe SMTP (expéditeur, destinataires, etc.) est différente des données réelles du message.

L'en- Sendertête est utilisé pour identifier dans le message qui l'a soumis. C'est généralement le même que l'en- Fromtête, qui est la provenance du message. Cependant, cela peut différer dans certains cas où un agent de messagerie envoie des messages au nom de quelqu'un d'autre.

L'en- Return-Pathtête est utilisé pour indiquer au destinataire (ou au MTA récepteur) où les accusés de non-remise doivent être envoyés.

Par exemple, prenez un serveur qui permet aux utilisateurs d'envoyer du courrier à partir d'une page Web. Alors, [email protected]tape un message et le soumet. Le serveur envoie ensuite le message à son destinataire avec Fromdéfini sur [email protected]. La soumission SMTP réelle utilise des informations d'identification différentes, quelque chose comme [email protected]. Ainsi, l'en- sendertête est défini sur [email protected], pour indiquer leFrom tête n'indique pas qui a réellement soumis le message.

Dans ce cas, si le message ne peut pas être envoyé, il est probablement préférable que l'agent reçoive le rapport de non-remise, et il Return-Pathserait donc également défini sur [email protected]afin que tous les rapports de remise y parviennent au lieu de l'expéditeur.

Si vous faites juste cela, une soumission de formulaire pour envoyer un e-mail, alors c'est probablement un parallèle direct avec la façon dont vous définiriez les en-têtes.

Shawn D.
la source
1
De plus, vous n'êtes pas obligé de tout régler. c'est-à-dire que si vous omettez l'expéditeur et le chemin de retour, ils vont à l'adresse De. Si vous omettez le chemin de retour, les NDR vont à l'expéditeur, je pense.
Shawn D.
1
... Ce qui est une nuisance attrayante pour les bombardiers de courrier. Ne fais pas ça!
tripleee
Dois-je bien comprendre cela? Lorsque vous parlez d'un formulaire Web pour soumettre un e-mail, Senderest-ce que la personne qui a soumis le formulaire Web et Fromle serveur qui a envoyé l'e-mail? Ou est-ce l'inverse?
Ethan Leroy
7
Imaginez un VIP qui a un assistant qui gère sa boîte aux lettres. Si l'assistant écrit un e-mail au nom du VIP, l'assistant est le Sender, mais le message est Fromle VIP. C'est ce qui se passe lorsque vous voyez un e-mail décrit comme "De l'assistant au nom de VIP"
dewin
@ShawnD., Et s'il n'y a pas Return-Path. Est-ce que la valeur par défaut est Senderalors?
Pacerier
99

Le RFC officiel qui définit cette spécification peut être trouvé ici:

http://tools.ietf.org/html/rfc4021#section-2.1.2 (voir le paragraphe 2.1.2 et les suivants)

2.1.2. Champ d'en-tête: De

Description:  
    Mailbox of message author  
[...]  
Related information:
    Specifies the author(s) of the message; that is, the mailbox(es)
    of the person(s) or system(s) responsible for the writing of the
    message. Defined as standard by RFC 822.

2.1.3. Champ d'en-tête: expéditeur

Description:  
    Mailbox of message sender  
[...]  
Related information:
    Specifies the mailbox of the agent responsible for the actual
    transmission of the message.  Defined as standard by RFC 822.

2.1.22. Champ d'en-tête: Return-Path

Description:
    Message return path
[...]  
Related information:
    Return path for message response diagnostics. See also RFC 2821
    [17]. Defined as standard by RFC 822.
naitsirch
la source
4
Merci d'avoir donné le lien RFC officiel. C'est vraiment utile si quelqu'un demande: "Basé sur quoi?"
bayuah
Cette autre réponse (de 2011) prétend que la méthode indiquée ici amène gmail à marquer les e-mails comme spam. Je me demande si c'est toujours le cas aujourd'hui.
showdev
Mis à jour dans la RFC 5322 tools.ietf.org/html/rfc5322#section-3.6 . Quelqu'un peut-il dire aux personnes RFC SMTP qu'il serait utile que le champ Expéditeur corresponde à l'adresse De utilisée dans le processus d'établissement de liaison SMTP s'il doit être utilisé.
BeowulfNode42
22

Une mise à jour mineure à ceci: un expéditeur ne doit jamais définir l'en- Return-Path:tête. Il n'y a pas d'en- Return-Path:tête pour un message en transit. Cet en-tête est défini par le MTA qui effectue la livraison finale et est généralement défini sur la valeur du5321.From sauf si le système local a besoin d'une sorte de routage original.

C'est un malentendu courant car les utilisateurs voient rarement un e-mail sans en- Return-Path:tête dans leur boîte aux lettres. Cela est dû au fait qu'ils voient toujours les messages remis, mais qu'un MTA ne doit jamais voir un en- Return-Path:tête sur un message en transit. Voir http://tools.ietf.org/html/rfc5321#section-4.4

cmeid
la source
Un expéditeur utilisant un client de messagerie ne le définirait pas, mais un "expéditeur" écrivant un script qui envoie des e-mails peut le définir par script, donc je pense qu'il est trompeur de dire qu'un expéditeur ne devrait jamais le définir.
chiliNUT
3
Malheureusement, Chilinut est en fait inexact. Un en-tête Return-Path: sur un message en transit sera ignoré, le MDA (mail delivery agent) qui effectue la livraison finale définira l'en-tête Return-Path: pour qu'il corresponde à la valeur du 5321. le message. Cela est dû au fait que l'enveloppe est perdue lorsque le message est remis, de sorte que l'en-tête Return-Path: enregistre ce que l'enveloppe-from était lorsque le MDA a reçu le message.
cmeid
Je regarde les en-têtes d'un message dans ma boîte de réception en ce moment, et il a une From:adresse et une adresse ( différente ) Return-Path:, donc je ne sais pas à quoi vous faites référence
chiliNUT
2
L'en- Return-Path:tête reflète l'adresse enveloppe-from ou RFC5321.From. L'en- From:tête reflète l'adresse header-from ou RFC5322.From.
cmeid
5
Cela devient sémantique, l'important (comme ci-dessus) est que vous ne pouvez pas définir d'en- Return-Path:tête lors de l'envoi d'un message. Si tel est le cas, il sera rejeté en transit et mis plus tard à la valeur de la RFC5321.From ou enveloppe-from par le MDA qui effectue la remise finale du message. Fondamentalement, l'en- Return-Path:tête enregistre ce que l'enveloppe a été, car l'enveloppe est jetée à la livraison.
cmeid le