Jaka jest różnica w zachowaniu między ścieżką powrotu, odpowiedzią do i z?


162

W naszej aplikacji mailingowej wysyłamy e-maile z następującym nagłówkiem:

FROM: marketing@customer.com
TO: subscriber1@domain1.com
Return-PATH: bouncemgmt@ourcompany.com

Problem, z którym mamy do czynienia, polega na tym, że niektóre serwery pocztowe natychmiast odbijają wiadomość i używają ścieżki „from” lub „reverse path” (marketing@customer.com) zamiast tego do naszego serwera bounce mgmt. Chcemy wiedzieć, czy zmodyfikujemy w nagłówku odpowiedź-do, aby była taka sama, jak ścieżka-powrotu, jeśli będziemy w stanie złapać wszystkie odbicia.

Jakieś inne pomysły są mile widziane?

Jako odniesienia używamy następujących dokumentów: VERP RFC Bounce Messages

Analiza dziennika SMTP w celu uzyskania zwrotów

EDYCJA 1: Jeszcze kilka informacji, aby zobaczyć, czy uda nam się to rozwiązać.

Chcemy wiedzieć, w którym momencie serwer e-mail przekazujący wiadomość zdecyduje się użyć ścieżki odpowiedzi zamiast ścieżki zwrotnej. Zauważyliśmy, że kiedy pierwszy serwer smtp przekazujący wiadomość zostaje odrzucony, wysyła ją do odpowiedzi, ale kiedy dzieje się to po jednym przeskoku, wysyła ją do ścieżki zwrotnej.


1
A co z określeniem pól Sender: i Precedence:? Chciałbym dowiedzieć się więcej o tym, jak wpływają one na różne serwery pocztowe, jeśli chodzi o odesłania i automatyczne odpowiedzi poza biurem. Ktoś?
PapaFreud,

Odpowiedzi:


257

Zacznijmy od prostego przykładu. Załóżmy, że masz listę e-mailową, która wyśle ​​następującą zawartość 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.

Teraz załóżmy, że zamierzasz wysłać go z listy mailingowej, która implementuje VERP (lub inny mechanizm śledzenia odrzuceń, który używa innej ścieżki powrotu). Powiedzmy, że będzie miał ścieżkę powrotu coolstuff-you=yourcompany.com@mymailinglist.com. Sesja SMTP może wyglądać następująco:

{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

Gdzie {C} i {S} oznaczają odpowiednio polecenia klienta i serwera.

Wiadomość do odbiorcy wyglądałaby następująco:

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.

Teraz opiszmy różne „OD”.

  1. Ścieżka zwrotna (czasami nazywana ścieżką zwrotną, nadawcą w danych koperty lub kopertą z - wszystkie te terminy mogą być używane zamiennie) jest wartością używaną w sesji SMTP w MAIL FROMpoleceniu. Jak widać, nie musi to być ta sama wartość, która znajduje się w nagłówkach wiadomości. Tylko serwer pocztowy adresata powinien dodać nagłówek Return-Path na początku wiadomości e-mail. To rejestruje faktycznego nadawcę ścieżki zwrotnej podczas sesji SMTP. Jeśli nagłówek Return-Path już istnieje w wiadomości, to nagłówek ten jest usuwany i zastępowany przez serwer pocztowy adresata.

Wszystkie zwroty, które występują podczas sesji SMTP, powinny wracać do adresu Return-Path. Niektóre serwery mogą akceptować wszystkie wiadomości e-mail, a następnie umieszczać je w kolejce lokalnie, dopóki nie będzie miał wolnego wątku, który może dostarczyć je do skrzynki pocztowej odbiorcy. Jeśli odbiorca nie istnieje, powinien odesłać go z powrotem do zarejestrowanej wartości Return-Path.

Uwaga, nie wszystkie serwery pocztowe przestrzegają tej reguły; Niektóre serwery pocztowe odsyłają je z powrotem na adres OD.

  1. Adres FROM to wartość znajdująca się w nagłówku FROM. To ma być to, od kogo jest ta wiadomość. To właśnie widzisz jako „OD” w większości klientów poczty. Jeśli wiadomość e-mail nie ma nagłówka Odpowiedź do, wszystkie odpowiedzi od ludzi (klientów poczty) powinny wracać na adres FROM.

  2. Nagłówek Odpowiedź do jest dodawany przez nadawcę (lub oprogramowanie nadawcy). Jest to miejsce, w którym należy również kierować się wszystkimi ludzkimi odpowiedziami. Zasadniczo, gdy użytkownik kliknie „odpowiedz”, wartość „Odpowiedź do” powinna być wartością używaną jako odbiorca nowo utworzonej wiadomości e-mail. Żaden serwer nie powinien używać wartości Reply-To. Jest przeznaczony tylko do użytku po stronie klienta (MUA).

Jednak, jak widać, nie wszystkie serwery pocztowe są zgodne ze standardami lub zaleceniami RFC.

Mam nadzieję, że to powinno pomóc wyjaśnić sytuację. Jeśli jednak coś przegapiłem, daj mi znać, a spróbuję odpowiedzieć.


To jest bardzo pomocne. Dziękuję za Twój czas. Jedno pytanie. Czy może się zdarzyć, że niektóre odbicia trafiają do ścieżki odpowiedzi zamiast do ścieżki powrotnej?
Geo

5
cóż, technicznie rzecz biorąc, możesz (ale nie powinno się) dodać nagłówek ścieżki powrotu, jednak jeśli istnieje nagłówek ścieżki powrotu, ma zostać nadpisany przez odbierający serwer smtp. Jeśli żaden nie istnieje, należy go dodać na górze nagłówków.
dave wanta

7
Nie mam pewności, jak return-pathjest używany. Jeśli return-pathma to być adres zwrotny, dlaczego serwer pocztowy odbiorcy miałby wypełniać to pole zamiast nadawcy? Skąd serwer odbiorcy miałby w ogóle wiedzieć, co tam umieścić? Czy to nie wydaje się odwrotne?
greatwolf

6
Serwer pocztowy odbiorcy wstawia nagłówek Return-Path do wiadomości, kopiując wartość podaną przez serwer pocztowy nadawcy w poleceniu SMTP „MAIL FROM”. Wyobraź sobie urzędnika w pokoju pocztowym otwierającego pocztę - patrzy na adres zwrotny na kopercie i pisze go na górze listu (i wyrzuca kopertę).
John Hascall

5
A jak ma się do tego Sender:nagłówek?
Simon East

150

Innym sposobem myślenia o Return-Pathvs Reply-Tojest porównanie go ze zwykłą pocztą.

Wysyłając kopertę pocztą, podajesz adres zwrotny . Jeśli adresat nie istnieje lub odmówi przyjęcia Twojej poczty, poczmistrz zwraca kopertę z powrotem na adres zwrotny. W przypadku poczty e-mail adres zwrotny to Return-Path.

Wewnątrz koperty może znajdować się list, a wewnątrz listu może skierować adresata na „Wyślij korespondencję na przykładowy adres ”. W przypadku poczty e-mail przykładowy adres to Reply-To.

Zasadniczo adres zwrotny wysyłki jest porównywalny z Return-Pathnagłówkiem SMTP, a nagłówek SMTP Reply-Tojest podobny do instrukcji odpowiedzi zawartych w liście.


14
To fajna analogia.
Łukasz Korzybski

2
@Jesse Hobart +1 za miłe wyjaśnienie, byłem bardziej zdezorientowany, dziękuję za ułatwienie mi zrozumienia.
Abhishek

26
Chciałbym zwrócić uwagę, że podstawową koncepcją, która nie została ujęta w tej analogii, jest to, że Return-Pathnagłówek jest dodawany przez odbierający serwer pocztowy, a nie przez nadawcę . Więc to bardziej tak: możesz napisać dowolny adres w kopercie, ale aby go dostarczyć, musisz zanieść go na pocztę i pokazać im swoje prawo jazdy (lub inny dowód tożsamości), a oni umieścili ten adres na kopercie przed wysłaniem. Innymi słowy, Return-Pathnagłówek jest równie godny zaufania, jak kontrole przeprowadzane przez odbierający serwer SMTP, gdzie inne można łatwo sfałszować.
cdhowie

5

dla tych, którzy tu trafili, bo tytuł pytania:

Używam Reply-To:adresu w formularzach internetowych. kiedy ktoś wypełnia formularz, strona internetowa automatycznie wysyła wiadomość e-mail do właściciela strony. From:jest adres automatycznego pocztowy nadawcy, więc właściciel wie, że jest z formularza internetowego. ale Reply-To:adres jest adresem wpisanym w formularzu przez użytkownika, więc właściciel może po prostu kliknąć odpowiedź, aby się z nim skontaktować.


1

Musiałem dodać nagłówek Return-Path w wiadomościach e-mail wysyłanych przez instancję Redmine. Zgadzam się z greatwolfem, tylko nadawca może określić poprawną (nie domyślną) ścieżkę zwrotu. Sprawa jest następująca: E-maile są wysyłane z domyślnym adresem e-mail: admin@twojafirma.com Ale chcemy, aby prawdziwy użytkownik inicjujący akcję otrzymał e-maile o odesłaniu, ponieważ to on będzie wiedział, jak naprawić e-maile niewłaściwych odbiorców (a nie administratorzy aplikacji, którzy mają inne koty do biczowania :-)). Używamy tego i doskonale współpracuje z eximem na serwerze aplikacji i zimbrą jako ostatnim firmowym serwerem pocztowym.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.