2009-08-05 13 views
136

Na naszej aplikacji do korespondencji jesteśmy wysyłanie e-maili z następującym nagłówkiem:Jaka jest różnica między ścieżką zwrotną, odpowiedzią na i od?

FROM: [email protected] 
TO: [email protected] 
Return-PATH: [email protected] 

Problem, że mamy do czynienia jest to, że niektóre serwery pocztowe będą natychmiast wraca wiadomość i używać z lub kanał zwrotny (marketing @ klienta .com) zamiast naszego serwera odrzuceń mgmt. Chcemy wiedzieć, czy zmienimy w nagłówku odpowiedź, aby była taka sama jak ścieżka powrotu, jeśli będziemy w stanie przechwycić wszystkie odskoki.

Czy są jakieś inne pomysły?

Używamy następujące dokumenty jako odniesienia: VERP RFC Bounce Messages

SMTP Log Parsing to get Bounces

EDIT 1: Jeszcze kilka bitów informacji, aby sprawdzić, czy uda nam się rozwiązać ten problem.

Chcemy wiedzieć, w którym momencie serwer poczty e-mail, który przekaże wiadomość, zdecyduje się użyć odpowiedzi w porównaniu ze ścieżką zwrotną. Zauważmy, że kiedy pierwszy serwer SMTP przekazujący wiadomość zostanie odrzucony, wysyła go do odpowiedzi, ale gdy nastąpi po jednym przeskoku, wysyła go do ścieżki powrotnej.

+1

Co z określeniem Nadawca: i Pierwszeństwo: pola?Chciałbym dowiedzieć się więcej o tym, jak wpływają one na różne serwery pocztowe, jeśli chodzi o odbicia i poza biurem typu autoreklamy. Ktoś? – PapaFreud

+0

https://www.postmastery.com/blog/about-the-return-path-header/ –

Odpowiedz

213

Zacznijmy od prostego przykładu. Załóżmy, że masz listę e-mailową, która prześle następującą zawartość RFC2822.

From: <[email protected]> 
To: <[email protected]> 
Subject: Super simple email 
Reply-To: <[email protected]> 

This is a very simple body. 

Teraz, powiedzmy, że masz zamiar wysłać go z listy, która implementuje VERP (lub jakiś inny mechanizm śledzenia odrzuceń, który wykorzystuje inną Return-Path). Powiedzmy, że będzie miała ścieżkę zwrotną z [email protected] 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:<[email protected]> 
{S}250 2.1.0 [email protected] OK 
{C}RCPT TO:<[email protected]> 
{S}250 2.1.5 [email protected] 
{C}DATA 
{S}354 Start mail input; end with <CRLF>.<CRLF> 
{C}From: <[email protected]> 
To: <[email protected]> 
Subject: Super simple email 
Reply-To: <[email protected]> 

This is a very simple body. 
. 

{S}250 Queued mail for delivery 
{C}QUIT 
{S}221 Service closing transmission channel 

gdzie {C} i {s} reprezentują polecenia klientem a serwerem, odpowiednio.

mail odbiorcy wyglądałby następująco:

Return-Path: [email protected] 
From: <[email protected]> 
To: <[email protected]> 
Subject: Super simple email 
Reply-To: <[email protected]> 

This is a very simple body. 

A teraz opisywać różne "od" s.

  1. The Return-Path (czasami nazywane Reverse-Path lub koperty-Z - wszystkie te terminy mogą być stosowane zamiennie) jest wartością wykorzystywane podczas sesji SMTP. Jak widać, nie musi to być ta sama wartość, która faktycznie znajduje się w nagłówkach wiadomości. Tylko serwer pocztowy odbiorcy powinien dodać nagłówek Return-Path na początku wiadomości e-mail. Zapisuje rzeczywistego nadawcę zwrotnego podczas sesji SMTP. Jeśli nagłówek Return-Path już istnieje w wiadomości e-mail, to ten nagłówek zostanie usunięty i zastąpiony przez serwer pocztowy odbiorcy.

    Wszystkie odbicia występujące podczas sesji SMTP powinny wrócić do wartości Return-Path. Niektóre serwery mogą akceptować wszystkie wiadomości e-mail, a następnie umieszczać je w kolejce lokalnie, dopóki nie ma wolnego wątku do dostarczenia go do skrzynki pocztowej odbiorcy.Jeśli odbiorca nie istnieje, powinien odesłać go z powrotem do zapisanej wartości Return-Path.

    Uwaga, nie wszystkie serwery pocztowe stosują się do tej reguły. Niektóre serwery pocztowe odsyłają je z powrotem na adres FROM.

  2. Adres FROM jest wartością faktycznie znalezioną w nagłówku FROM. To jest, kim jest wiadomość od. To jest to, co widzisz jako "FROM" w większości klientów pocztowych. Jeśli e-mail nie ma nagłówka odpowiedzi, wszystkie odpowiedzi człowieka (klienta poczty) powinny wrócić do adresu FROM.

  3. Nagłówek odpowiedzi jest dodawany przez nadawcę (lub oprogramowanie nadawcy). To tutaj również należy odpowiedzieć na wszystkie ludzkie odpowiedzi. Zasadniczo, gdy użytkownik kliknie "odpowiedz", wartość "Odpowiedz do" powinna być wartością używaną jako odbiorca nowo skomponowanej wiadomości e-mail. Wartość Reply-To nie powinna być używana przez żaden serwer. Jest przeznaczony do użytku po stronie klienta.

    Jednak, jak można zauważyć, nie wszystkie serwery pocztowe są zgodne ze standardami lub zaleceniami RFC.

Mam nadzieję, że powinno to pomóc wyjaśnić sprawę. Jeśli jednak coś przeoczyłem, daj mi znać, a ja postaram się odpowiedzieć.

+0

Jest to bardzo pomocne. Dziękuję za Twój czas. Jedno pytanie. Czy może się zdarzyć, że niektóre odskoki przechodzą do odpowiedzi zamiast do ścieżki powrotu? – Geo

+0

Hi Geo, Tak. Jest to całkowicie możliwe. Istnieje wiele uszkodzonych serwerów SMTP, lub przynajmniej interpretują reguły w różny sposób. Pozdrawiam! Dave –

+0

Thx za wspaniałe wyjaśnienie. Jedno pytanie o ścieżkę zwrotną: Czy rozumiem dobrze, że kiedy poczta opuszcza mój serwer SMTP (jako nadawca poczty), faktycznie nie zdefiniowano jeszcze żadnej ścieżki zwrotnej? Czy tylko serwer pocztowy adresata dodaje ścieżkę powrotu do poczty? – sl3dg3

115

Innym sposobem, aby pomyśleć o Return-Path vs Reply-To jest porównanie go do poczty ślimaka.

Po wysłaniu koperty w poczcie podaje się adres zwrotny . Jeśli odbiorca nie istnieje lub odrzuca pocztę, poczta zwraca kopertę z powrotem na adres zwrotny. W przypadku adresu e-mail adres zwrotny to Return-Path.

Wewnątrz koperty może znajdować się litera, a wewnątrz litery może kierować odbiorcę na "Wyślij korespondencję pod przykładowy adres". W przypadku adresu e-mailowym adres przykładowy to Reply-To.

W istocie, adres zwrotny przesyłki jest porównywalny do nagłówka SMTP Return-Path, a nagłówek SMTP Reply-To jest podobny do instrukcji odpowiadających zawartych w liście.

+11

To jest dobra analogia. –

+0

@Jesse Hobart +1 dla miłego wyjaśnienia, byłem bardziej zdezorientowany, dziękuję za ułatwienie zrozumienia mnie. – Abhishek

+9

Chciałbym zwrócić uwagę, że pierwotną koncepcją nie uchwyconą w tej analogii jest to, że nagłówek 'Return-Path' jest dodawany przez ** otrzymujący ** serwer pocztowy i *** nie * przez nadawcę **. A więc jest bardziej podobny do tego: możesz zapisać dowolny adres w kopercie, ale aby go dostarczyć, musisz zabrać go na pocztę i pokazać im swoje prawo jazdy (lub inny dokument tożsamości) i * oni * umieścić ten adres na kopertę przed wysłaniem. Innymi słowy, nagłówek 'Return-Path' jest tak samo godny zaufania, jak kontrole wykonywane przez odbierający serwer SMTP, gdzie inne mogą być łatwo sfałszowane. – cdhowie

1

Musiałem dodać nagłówek Return-Path w e-mailach wysyłanych przez instancję Redmine. Zgadzam się z Super Wilkiem, tylko nadawca może ustalić poprawną (nie domyślną) ścieżkę zwrotną. Przypadek jest następujący: E-maile są wysyłane z domyślnym adresem e-mail: [email protected]_firma.com Chcemy jednak, aby prawdziwy użytkownik inicjujący akcję otrzymał odesłane wiadomości e-mail, ponieważ to on będzie wiedział, jak rozwiązać problem. źli odbiorcy e-maili (a nie administratorzy aplikacji, którzy mają inne koty do bicia :-)). Używamy tego i działa doskonale z exim na serwerze aplikacji i zimbra jako końcowy firmowy serwer pocztowy.

4

dla tych, którzy dostali się tutaj, ponieważ tytuł pytanie:

używam Reply-To: adres z webforms. gdy ktoś wypełni formularz, strona wysyła automatyczny e-mail do właściciela strony. From: to adres automatycznego nadawcy wiadomości e-mail, więc właściciel wie, że pochodzi on z formularza internetowego. ale adres Reply-To: to ten, który został wypełniony przez użytkownika, więc właściciel może po prostu kliknąć odpowiedź, aby się z nimi skontaktować.

Powiązane problemy