W naszej aplikacji mailingowej wysyłamy e-maile z następującym nagłówkiem:
FROM: [email protected]
TO: [email protected]
Return-PATH: [email protected]
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” ([email protected]) 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.
Odpowiedzi:
Zacznijmy od prostego przykładu. Załóżmy, że masz listę e-mailową, która wyśle następującą zawartość RFC2822 .
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
[email protected]
. Sesja SMTP może wyglądać następująco:Gdzie {C} i {S} oznaczają odpowiednio polecenia klienta i serwera.
Wiadomość do odbiorcy wyglądałaby następująco:
Teraz opiszmy różne „OD”.
MAIL FROM
poleceniu. 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.
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.
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ć.
źródło
return-path
jest używany. Jeślireturn-path
ma 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?Sender:
nagłówek?Innym sposobem myślenia o
Return-Path
vsReply-To
jest 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-Path
nagłówkiem SMTP, a nagłówek SMTPReply-To
jest podobny do instrukcji odpowiedzi zawartych w liście.źródło
Return-Path
nagłó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-Path
nagłówek jest równie godny zaufania, jak kontrole przeprowadzane przez odbierający serwer SMTP, gdzie inne można łatwo sfałszować.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. aleReply-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ć.źródło
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: [email protected] 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.
źródło