Was ist der Verhaltensunterschied zwischen Rückweg, Antwort auf und von?

162

In unserer Mailing-Anwendung senden wir E-Mails mit folgendem Header:

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

Das Problem, mit dem wir konfrontiert sind, besteht darin, dass einige E-Mail-Server eine Nachricht sofort zurückrufen und stattdessen den Absender- oder Rückwärtspfad ([email protected]) zu unserem Absprung-mgmt-Server verwenden. Wir möchten wissen, ob wir in der Kopfzeile die Antwort so ändern, dass sie mit dem Rückweg übereinstimmt, wenn wir alle Bounces abfangen können.

Irgendwelche anderen Ideen sind willkommen?

Wir verwenden die folgenden Dokumente als Referenz: VERP RFC Bounce Messages

SMTP-Protokollanalyse zum Abrufen von Bounces

EDIT 1: Noch ein paar Informationen, um zu sehen, ob wir diese Lösung finden können.

Wir möchten wissen, an welchem ​​Punkt der E-Mail-Server, der die Nachricht weiterleitet, die Antwort auf den Rückweg verwendet. Wir haben festgestellt, dass wenn der erste SMTP-Server, der die Nachricht weiterleitet, abgelehnt wird, er sie an die Antwort sendet, aber wenn dies nach einem Hop geschieht, sendet er sie an den Rückweg.

Geo
quelle
1
Was ist mit der Angabe der Felder Absender: und Vorrang: Ich würde gerne mehr darüber erfahren, wie sie sich auf verschiedene Mailserver auswirken, wenn es um Bounces und automatische Antworten außerhalb des Büros geht. Irgendjemand?
PapaFreud

Antworten:

257

Beginnen wir mit einem einfachen Beispiel. Angenommen , Sie haben eine E-Mail-Liste, die den folgenden RFC2822- Inhalt versendet .

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

This is a very simple body.

Angenommen, Sie senden es von einer Mailingliste, die VERP implementiert (oder einen anderen Bounce-Tracking-Mechanismus, der einen anderen Rückweg verwendet). Nehmen wir an, es wird einen Rückweg von haben [email protected]. Die SMTP-Sitzung könnte folgendermaßen aussehen:

{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

Wobei {C} und {S} Client- bzw. Serverbefehle darstellen.

Die Mail des Empfängers würde folgendermaßen aussehen:

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

This is a very simple body.

Beschreiben wir nun die verschiedenen "FROM".

  1. Der Rückweg (manchmal auch als umgekehrter Pfad, Umschlagsender oder Umschlag von bezeichnet - alle diese Begriffe können austauschbar verwendet werden) ist der Wert, der in der SMTP-Sitzung im MAIL FROMBefehl verwendet wird. Wie Sie sehen können, muss dies nicht derselbe Wert sein, der in den Nachrichtenkopfzeilen gefunden wird. Nur der Mailserver des Empfängers soll oben in der E-Mail einen Return-Path-Header hinzufügen. Dies zeichnet den tatsächlichen Absender des Rückweges während der SMTP-Sitzung auf. Wenn in der Nachricht bereits ein Return-Path-Header vorhanden ist, wird dieser Header entfernt und durch den Mailserver des Empfängers ersetzt.

Alle Bounces, die während der SMTP-Sitzung auftreten, sollten auf die Return-Path-Adresse zurückgehen. Einige Server akzeptieren möglicherweise alle E-Mails und stellen sie dann lokal in die Warteschlange, bis sie einen freien Thread haben, um sie an das Postfach des Empfängers zu senden. Wenn der Empfänger nicht vorhanden ist, sollte er auf den aufgezeichneten Rückwegwert zurückgesetzt werden.

Beachten Sie, dass nicht alle Mailserver diese Regel einhalten. Einige Mailserver geben es an die FROM-Adresse zurück.

  1. Die FROM-Adresse ist der Wert, der im FROM-Header gefunden wird. Dies soll sein, von wem die Nachricht stammt. Dies ist das, was Sie in den meisten Mail-Clients als "VON" sehen. Wenn eine E-Mail keinen Antwort-An-Header hat, sollten alle menschlichen Antworten (E-Mail-Client) an die FROM-Adresse zurückgehen.

  2. Der Reply-To-Header wird vom Absender (oder der Software des Absenders) hinzugefügt. Hier sollten auch alle menschlichen Antworten angesprochen werden. Wenn der Benutzer auf "Antworten" klickt, sollte der Wert "Antwort an" der Wert sein, der als Empfänger der neu erstellten E-Mail verwendet wird. Der Reply-To-Wert sollte von keinem Server verwendet werden. Es ist nur für die clientseitige Verwendung (MUA) vorgesehen.

Wie Sie jedoch feststellen können, entsprechen nicht alle Mailserver den RFC-Standards oder -Empfehlungen.

Hoffentlich sollte dies helfen, die Dinge zu klären. Wenn ich jedoch etwas verpasst habe, lass es mich wissen und ich werde versuchen zu antworten.

Dave Wanta
quelle
Das ist sehr hilfreich. Vielen Dank für Ihre Zeit. Eine Frage. Könnte es passieren, dass einige Bounces auf den Antwortweg anstatt auf den Rückweg gehen?
Geo
5
Technisch gesehen können (sollen aber nicht) Sie einen Rückweg-Header hinzufügen. Wenn jedoch ein Rückweg-Header vorhanden ist, muss dieser vom empfangenden SMTP-Server überschrieben werden. Wenn keine vorhanden ist, wird sie oben in die Überschriften eingefügt.
Dave Wanta
7
Ich bin mir ein bisschen unklar, wie return-pathes verwendet wird. Wenn return-pathes sich um eine Absenderadresse handeln soll, warum sollte der Mailserver des Empfängers dieses Feld anstelle des Absenders ausfüllen? Wie würde der Server des Empfängers überhaupt wissen, was er dort einfügen soll? Scheint das nicht rückwärts?
Urwolf
6
Der Mailserver des Empfängers fügt den Return-Path-Header in die Nachricht ein, indem er den vom Mailserver des Absenders angegebenen Wert in den SMTP-Befehl "MAIL FROM" kopiert. Stellen Sie sich einen Angestellten in der Poststelle vor, der die Post öffnet - er sieht sich die Absenderadresse auf dem Umschlag an und schreibt diese über den Brief (und wirft den Umschlag weg).
John Hascall
5
Und wie passt der Sender:Header in all das?
Simon East
150

Eine andere Möglichkeit, über Return-Pathvs nachzudenken, Reply-Tobesteht darin, es mit der Post zu vergleichen.

Wenn Sie einen Umschlag per Post senden, geben Sie eine Absenderadresse an . Wenn der Empfänger nicht existiert oder Ihre Post ablehnt, sendet der Postmeister den Umschlag an die Absenderadresse zurück. Bei E-Mails lautet die Absenderadresse die Return-Path.

Innerhalb des Umschlags kann sich ein Brief befinden, und innerhalb des Briefes kann der Empfänger angewiesen werden, "Korrespondenz an Beispieladresse senden ". Bei E-Mails lautet die Beispieladresse die Reply-To.

Im Wesentlichen ist eine Porto-Rücksendeadresse mit dem Return-PathHeader von SMTP vergleichbar, und der Header von SMTP Reply-Toähnelt den in einem Brief enthaltenen Antwortanweisungen.

Jesse Hobart
quelle
14
Dies ist eine schöne Analogie.
Lukasz Korzybski
2
@ Jesse Hobart +1 für eine nette Erklärung, ich war verwirrter, danke, dass du es einfacher gemacht hast, mich zu verstehen.
Abhishek
26
Ich möchte darauf hinweisen, dass das primäre Konzept, das in dieser Analogie nicht erfasst wird, darin besteht, dass der Return-PathHeader vom empfangenden Mailserver und nicht vom Absender hinzugefügt wird . Es ist also eher so: Sie können jede gewünschte Adresse in den Umschlag schreiben, aber um sie zu liefern, müssen Sie sie zur Post bringen und ihnen Ihren Führerschein (oder einen anderen Ausweis) zeigen, und diese Adresse wird auf den Umschlag geschrieben vor dem Senden. Mit anderen Worten, der Return-PathHeader ist genauso vertrauenswürdig wie die vom empfangenden SMTP-Server durchgeführten Überprüfungen, bei denen die anderen leicht gefälscht werden können.
CDhowie
5

für diejenigen, die wegen des Titels der Frage hierher gekommen sind:

Ich benutze Reply-To:Adresse mit Webformularen. Wenn jemand das Formular ausfüllt, sendet die Webseite automatisch eine E-Mail an den Eigentümer der Seite. das From:ist der automatische Adresse des Mail - Absender, so der Besitzer kennt es aus dem Web - Formular ist. Die Reply-To:Adresse ist jedoch diejenige, die der Benutzer im Formular ausgefüllt hat, sodass der Eigentümer einfach auf Antworten klicken kann, um Kontakt mit ihm aufzunehmen.

Robotik
quelle
1

Ich musste in E-Mails, die von einer Redmine-Instanz gesendet wurden, einen Return-Path-Header hinzufügen. Ich stimme Greatwolf zu, nur der Absender kann einen korrekten (nicht standardmäßigen) Rückweg bestimmen. Der Fall ist der folgende: E-Mails werden mit der Standard-E-Mail-Adresse gesendet: [email protected] Wir möchten jedoch, dass der echte Benutzer, der die Aktion initiiert, die Bounce-E-Mails erhält, da er weiß, wie falsche Empfänger-E-Mails behoben werden können (und nicht die Anwendungsadministratoren, die andere Katzen zum Peitschen haben :-)). Wir verwenden dies und es funktioniert perfekt mit exim auf dem Anwendungsserver und zimbra als endgültigem Mail-Server des Unternehmens.

Lächeln
quelle