Почнемо з простого прикладу. Скажімо, у вас є список електронних листів, який надсилатиме такий вміст 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.
Скажімо, ви збираєтесь надіслати його зі списку розсилки, який реалізує VERP (або якийсь інший механізм відстеження відмов, який використовує інший шлях повернення). Скажімо, це матиме зворотний шлях coolstuff-you=yourcompany.com@mymailinglist.com
. Сеанс SMTP може виглядати так:
{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
Де {C} і {S} представляють команди Client і Server відповідно.
Пошта одержувача виглядатиме так:
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.
Тепер опишемо різні "ВІД".
- Шлях повернення (іноді його називають зворотним шляхом, відправник конверта або конверт з - всі ці терміни можна використовувати взаємозамінно) - це значення, яке використовується в сеансі SMTP в
MAIL FROM
команді. Як бачите, це не повинно бути тим самим значенням, яке знаходиться в заголовках повідомлень. Лише поштовий сервер одержувача повинен додати заголовок Return-Path у верхній частині електронної пошти. Це записує фактичного відправника Шляху повернення під час сеансу SMTP. Якщо в повідомленні вже існує заголовок Return-Path, то його заголовок видаляється та замінюється поштовим сервером одержувача.
Усі відмови, що виникають під час сеансу SMTP, повинні повертатися на адресу Return-Path. Деякі сервери можуть прийняти всю електронну пошту, а потім поставити її в чергу локально, поки у неї не буде вільної нитки для доставки її до поштової скриньки одержувача. Якщо одержувача не існує, він повинен повернути його до записаного значення Return-Path.
Зауважте, не всі поштові сервери дотримуються цього правила; Деякі поштові сервери повернуть його до адреси FROM.
Адреса FROM - це значення, знайдене в заголовку FROM. Це повинно бути тим, кому повідомлено ВІД. Це те, що ви бачите як "ВІД" у більшості поштових клієнтів. Якщо в електронному листі немає заголовка відповіді-відповіді, усі відповіді людини (поштовий клієнт) повинні повернутися до адреси FROM.
Заголовок відповіді на відповідь додає відправник (або програмне забезпечення відправника). Саме там слід звертатись і до всіх відповідей людини. В основному, коли користувач натискає "відповісти", значення "Відповідь до" має бути значенням, яке використовується як одержувач щойно складеного електронного листа. Значення "Відповідь-до" не повинен використовувати жоден сервер. Він призначений лише для використання на стороні клієнта (MUA).
Однак, як ви можете сказати, не всі поштові сервери відповідають стандартам або рекомендаціям RFC.
Сподіваємось, це має допомогти прояснити речі. Однак якщо я щось пропустив, дайте мені знати, і я спробую відповісти.