Cominciamo con un semplice esempio. Supponiamo che tu abbia una mailing list, che invierà il seguente contenuto RFC2822 .
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.
Ora, supponiamo che lo invierai da una mailing list, che implementa VERP (o qualche altro meccanismo di tracciamento del rimbalzo che utilizza un diverso percorso di ritorno). Diciamo che avrà un percorso di ritorno di coolstuff-you=yourcompany.com@mymailinglist.com
. La sessione SMTP potrebbe apparire come:
{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
Dove {C} e {S} rappresentano rispettivamente i comandi Client e Server.
La posta del destinatario sarebbe simile a:
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.
Ora, descriviamo i diversi "DA".
- Il percorso di ritorno (a volte chiamato percorso inverso, mittente busta o busta da - tutti questi termini possono essere usati in modo intercambiabile) è il valore utilizzato nella sessione SMTP nel
MAIL FROM
comando. Come puoi vedere, questo non deve necessariamente avere lo stesso valore che si trova nelle intestazioni dei messaggi. Solo il server di posta del destinatario dovrebbe aggiungere un'intestazione Return-Path all'inizio dell'email. Ciò registra il mittente del percorso di ritorno effettivo durante la sessione SMTP. Se nel messaggio esiste già un'intestazione Return-Path, tale intestazione viene rimossa e sostituita dal server di posta del destinatario.
Tutti i rimbalzi che si verificano durante la sessione SMTP devono tornare all'indirizzo Return-Path. Alcuni server possono accettare tutta la posta elettronica, quindi accodarla localmente, fino a quando non ha un thread gratuito per recapitarla alla cassetta postale del destinatario. Se il destinatario non esiste, dovrebbe riportarlo al valore Return-Path registrato.
Nota, non tutti i server di posta obbediscono a questa regola; Alcuni server di posta lo rimandano indietro all'indirizzo DA.
L'indirizzo FROM è il valore trovato nell'intestazione FROM. Questo dovrebbe essere da chi proviene il messaggio. Questo è ciò che vedi come "DA" nella maggior parte dei client di posta. Se un'e-mail non ha un'intestazione di risposta, tutte le risposte umane (client di posta) devono tornare all'indirizzo FROM.
L'intestazione di risposta viene aggiunta dal mittente (o dal software del mittente). È qui che dovrebbero essere indirizzate anche tutte le risposte umane. Fondamentalmente, quando l'utente fa clic su "rispondi", il valore Rispondi a dovrebbe essere il valore utilizzato come destinatario dell'e-mail appena composta. Il valore di risposta non deve essere utilizzato da nessun server. È destinato esclusivamente al lato client (MUA).
Tuttavia, come puoi vedere, non tutti i server di posta rispettano gli standard o le raccomandazioni RFC.
Speriamo che questo possa aiutare a chiarire le cose. Tuttavia, se ho perso qualcosa, fammelo sapere e proverò a rispondere.