124 votes

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

Quelle est la différence entre les valeurs Sender, From et Return-Path d'un courriel ?

Ejemplo : J'ai un formulaire de contact où l'utilisateur peut saisir son email, celui-ci serait-il affecté à l'expéditeur, au destinataire ou au chemin de retour ?

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

158voto

Shawn D. Points 1881

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

El Sender est utilisé pour identifier dans le message qui l'a soumis. C'est généralement la même chose que l'en-tête From qui indique de qui provient le message. Cependant, il peut être différent dans certains cas où un agent de messagerie envoie des messages au nom de quelqu'un d'autre.

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

Prenons l'exemple d'un serveur qui permet aux utilisateurs d'envoyer du courrier à partir d'une page Web. Donc, sender@yourcompany.com tape un message et le soumet. Le serveur envoie ensuite le message à son destinataire à l'aide de la fonction From réglé sur sender@yourcompany.com . La soumission SMTP proprement dite utilise des informations d'identification différentes, quelque chose comme mailagent@mywebmail.com . Ainsi, le sender est réglé sur mailagent@mywebmail.com pour indiquer le From 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-livraison, et donc Return-Path serait également réglé sur mailagent@mywebmail.com afin que tout rapport de livraison lui soit adressé au lieu de l'expéditeur.

Si c'est exactement ce que vous faites, à savoir soumettre un formulaire pour envoyer un e-mail, alors il y a probablement un parallèle direct avec la façon dont vous définissez les en-têtes.

89voto

naitsirch Points 747

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 ce qui suit)

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.

19voto

cmeid Points 1

Petite mise à jour : un expéditeur ne doit jamais définir l'en-tête Return-Path :. Il n'existe pas d'en-tête Return-Path : 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 à la valeur de 5321.From, à moins que le système local n'ait besoin d'un routage particulier.

Il s'agit d'un malentendu courant car les utilisateurs voient rarement un courriel sans en-tête Return-Path : dans leur boîte aux lettres. C'est parce qu'ils voient toujours des messages livrés, mais un MTA ne devrait jamais voir un en-tête Return-Path : sur un message en transit. Voir http://tools.ietf.org/html/rfc5321#section-4.4

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X