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.
Antworten:
Beginnen wir mit einem einfachen Beispiel. Angenommen , Sie haben eine E-Mail-Liste, die den folgenden RFC2822- Inhalt versendet .
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:Wobei {C} und {S} Client- bzw. Serverbefehle darstellen.
Die Mail des Empfängers würde folgendermaßen aussehen:
Beschreiben wir nun die verschiedenen "FROM".
MAIL FROM
Befehl 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.
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.
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.
quelle
return-path
es verwendet wird. Wennreturn-path
es 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?Sender:
Header in all das?Eine andere Möglichkeit, über
Return-Path
vs nachzudenken,Reply-To
besteht 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-Path
Header von SMTP vergleichbar, und der Header von SMTPReply-To
ähnelt den in einem Brief enthaltenen Antwortanweisungen.quelle
Return-Path
Header 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, derReturn-Path
Header ist genauso vertrauenswürdig wie die vom empfangenden SMTP-Server durchgeführten Überprüfungen, bei denen die anderen leicht gefälscht werden können.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. dasFrom:
ist der automatische Adresse des Mail - Absender, so der Besitzer kennt es aus dem Web - Formular ist. DieReply-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.quelle
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.
quelle