Berechtigte Gründe SMTP-Header "MAIL FROM:" stimmt nicht mit "From:" in DATA überein


18

Gibt es jemals einen legitimen Grund dafür, dass das SMTP-Feld "MAIL FROM:" nicht mit dem Feld "From:" im Abschnitt "DATA" einer Nachricht übereinstimmt, abgesehen von Mailinglisten?

Von /programming/1750194/smtp-why-does-email-needs-envelope-and-what-does-the-envelope-mean :

„Um Ihre Schneckenpost-Metapher fortzusetzen, enthalten die meisten professionellen Briefe die auf dem Brief selbst aufgedruckten Absender- und Empfängeradressen. Diese Adressen sind für den Postboten nicht erforderlich, sondern wurden dem Empfänger zur Verfügung gestellt. Es ist also sinnvoll, dass E-Mails genauso funktionieren. “

Das Problem mit dieser Logik liegt hier: "Höflichkeit gegenüber dem Empfänger". Das Einfügen der "Von:" - Adresse in eine E-Mail über SMTP ist keine Höflichkeit. Dies ist erforderlich, wenn der Empfänger eine Antwort senden kann.

From: Wie schränke ich den From-Header so ein, dass er mit MAIL FROM in Postfix übereinstimmt? :

"Aber wenn Sie wirklich From: und MAIL FROM sicherstellen möchten, müssen Sie header_checks anwenden, damit Return-Path: mit From: übereinstimmt."

Was bedeutet das? Mailinglisten wären natürlich ein Problem. Gibt es andere legitime Verwendungszwecke für unterschiedliche Header-Informationen "MAIL FROM:" und "From:"?

Antworten:


22

Es gibt viele Gründe, warum die Adressen Header und Envelope From möglicherweise nicht übereinstimmen. Die meisten Probleme betreffen automatisierte Prozesse beim Versenden von E-Mails, bei denen Zustellungsprobleme an eine Adresse gemeldet werden müssen, die nicht für den Absender der E-Mails oder den Absender im Namen von E-Mails repräsentativ ist oder an den geantwortet werden soll. Ein gutes Beispiel dafür sind Mailinglisten.

Der Hauptgrund, warum eine vom E-Mail-Client eines Benutzers gesendete Nachricht möglicherweise von den Adressen abweicht, ist die Weiterleitung von E-Mails. Der Inhalt der E-Mail sollte dann dem Original in angemessener Weise entsprechen. Im Falle von Zustellungsfehlern sollten diese jedoch dem Benutzer gemeldet werden, der die E-Mail weitergeleitet hat, nicht dem ursprünglichen Absender.

Neben dem SMTP-Header gibt es eine Reihe von MIME-Headern, mit denen verschiedene Programme versuchen, zwischen dem ursprünglichen Absender und dem Zwischensender zu unterscheiden, und / oder die bevorzugte Adresse, an die Fehler gemeldet werden sollen , Errors-To, etc, etc, jeweils mit unterschiedlicher Semantik. Einige von ihnen unterstützen Standards, andere nicht, werden jedoch möglicherweise trotzdem verwendet. Das Verhalten verschiedener Mailprogramme in der Praxis ist sehr unterschiedlich.

Ob eine Art der Adressierung von E-Mails ratsam ist, ist eine andere Frage als die, ob sie, wie Sie fragen, "legitim" ist. Wenn Sie hier die Legitimität im Sinne einer Richtlinie zum Umgang mit potenziellem Spam in Betracht ziehen, dann nein, ich glaube nicht, dass Sie auf diese Weise eine einfache Unterscheidung treffen können.

Denken Sie jedoch an die DKIM-Signatur von E-Mails und die SPF-Authentifizierung von Mailservern für E-Mail-Domänen. Wenn Sie viel E-Mail senden, ist es möglicherweise wichtig, dass Sie Ihre E-Mail auf diese Weise authentifizieren können. Dies kann Auswirkungen auf die Adressierung von E-Mail-Nachrichten aus Headern haben, da Sie nur E-Mails authentifizieren können, die sich auf Domänen beziehen, für die Sie die Berechtigung haben .

-

Erweitert auf Anfrage:

Ein MIME-Header "Reply-To" weist einen MUA (Mail User Agent, normalerweise der Mail-Client einer Person) an, Antworten an eine andere Adresse als die MIME-Adresse "From" zu senden. Dies wird von einem MTA (Mail Transport Agent) nicht für Fehler verwendet.

Normalerweise verwendet ein MTA die SMTP-Envelope-Adresse "MAIL From", um Fehler an zu senden. IT kann mit einem MIME-Header "Errors-To" überschrieben werden, bei dem es sich um eine MTA-Anweisung handelt. Nicht alle MTAs werden dies berücksichtigen. Daher ist dies ein schlechterer Mechanismus zum Festlegen der SMTP-Umschlagadresse. Unter bestimmten Umständen können jedoch MIME-Header in einer Nachricht festgelegt werden, nicht jedoch die SMTP-Umschlagadresse von. ZB kann sich Software, die in einer gemeinsam genutzten Hosting-Umgebung ausgeführt wird, in dieser Situation befinden.

"Absender" ist als Anweisung an Software-Agenten viel mehrdeutiger, gibt jedoch an, wer oder was die E-Mail an einen anderen Ort gesendet hat als die Absenderadresse, für die die E-Mail gesendet wurde. Wenn Sie z. B. ein Online-Mail-an-Ihre-Politiker-Formular ausfüllen, ist es sehr angebracht, dass die resultierende E-Mail Ihre E-Mail in der Kopfzeile von verwendet, aber eine Absenderadresse hat, die mit der Organisation zusammenhängt, die das Formular eingerichtet hat.

"Originally-From" wird von einigen MUA-Programmen beim Weiterleiten von E-Mails verwendet, wobei die Adresse des Weiterleiters für den "From" -Header verwendet wird. Andere MUAs lassen die Absenderadresse in Ruhe und verwenden einen 'Resent-From'-Header. Ob MUAs, die diese verschiedenen Header-E-Mails erhalten, die Header sinnvoll interpretieren oder sogar anzeigen, ist recht unterschiedlich. An wen soll die Antwort bei der Beantwortung einer an Sie weitergeleiteten E-Mail standardmäßig gerichtet werden? Vielleicht am besten den 'Reply-To'-Header setzen?

Das Verhalten von MUAs ist variabel und schlecht definiert, scheint sich jedoch im Laufe der Zeit zu verbessern. Im Gegensatz dazu ist die Semantik der Hüllkurve viel genauer definiert. Es gab in der Regel eine starke Position, bei der sich MTAs niemals mit den MIME-Headern befassen sollten. Da MTAs jedoch zunehmend für den Inhalt von E-Mails verantwortlich gemacht werden (siehe z. B. SPF und die aufkommenden DMARC-Standards), besteht der Druck, dass die Klarheit dieser Position beeinträchtigt wird. Langjährige Mechanismen wie Errors-To standen auch im Widerspruch zu der Vorstellung, dass MTAs den Header-Inhalt nicht berücksichtigen, weshalb diese Mechanismen immer inkonsistent angewendet wurden. Die Philosophien der Software-Autoren variieren.

Möglicherweise finden Sie es nützlich, einen Blick auf http://tools.ietf.org/html/rfc4021#section-2 zu werfen , aber denken Sie daran, dass die tatsächlichen Praktiken der Vielzahl von E-Mail-Software in einer Weise variieren, die nicht unbedingt den gesegneten Standards entspricht.

Es ist in Ordnung zu versuchen, eine klare Philosophie für die Verwendung von E-Mail zu entwickeln, aber erwarten Sie nicht, dass alle anderen Dinge tun, wie Sie es für richtig halten.


Ich habe noch Zeit, dieses Kopfgeld zu vergeben, und interessiere mich für zusätzliche Szenarien, die die Verwendung der Header erfordern würden: "Antwort an, Absender, ursprünglich von, Fehler an"
goodguys_activate

Vielen Dank für die Ergänzungen. Ich hoffe, ein klares Verständnis dafür zu bekommen, wie sich das von MTA erwartete Verhalten im Vergleich zu dessen Implementierung verhält. Außerdem könnte Sie Folgendes interessieren: Ich habe gerade auf Sec.StackExchange einen Artikel zum Thema E-Mail-Whitelisting (ähnlich wie bei BATV) veröffentlicht. Security.stackexchange.com/q/41008/396
goodguys_activate

1
+1, warum nur 4 Stimmen?
Pacerier

11

Automatisierte Verarbeitung ist ein wichtiger Grund. Sie möchten in der Lage sein, Bounces / Autoreplies / Fehler zu senden, die separat verarbeitet werden sollen, andernfalls verschwinden diese Nachrichten oder werden ignoriert, oder ein armer Saft muss sie durchsuchen. Ja, das Hinzufügen eines X-Headers zur Verarbeitung ist möglich, aber viel Zeit springt / etc. Enthält nicht die Original-E-Mail oder nur einen Teil davon, und Sie können die Quelle nicht abrufen.

Angenommen, jemand meldet sich auf Ihrer Website an, und Sie senden ihm eine E-Mail mit dem Hinweis, dass Sie sich angemeldet haben. Ihr MAILFROM und From könnten so aussehen:

MAIL FROM: <user-signup-123123123@bounces.example.com>
From: Website X <noreply@example.com>

Auf diese Weise sieht der Benutzer das "freundliche" im Mail-Client. Wenn der Benutzer jedoch nicht vorhanden ist, sendet sein MTA die Bounce-Nachricht an:

user-signup-123123123@bounces.example.com

und ein automatisierter Prozess kann leicht die Benutzer-ID (den 123123123-Teil) und den Teil des Systems, der den Bounce (den -signup- Teil) erstellt hat, aus dem Header ziehen und diesen Benutzer leicht löschen / als deaktiviert markieren.


8

Die E-Mail von: in der SMTP-Konversation ist der Ort, an dem die Bounces abgelegt werden. Der Header Von: im Nachrichtentext wird dem Empfänger als Antwortadresse angezeigt, wenn der Header Antwort an: nicht festgelegt ist.

E-Mails, die keine Bounce generieren sollen, sollten den leeren Absender in den Umschlag setzen, zum Beispiel hat eine Rücksendebestätigung normalerweise: mail from:<>mit dem Namen des Benutzers in der Kopfzeile von:.

Eine andere Situation besteht darin, dass ein Mailserver BATV verwendet, um gefälschte Bounces abzulehnen. Die E-Mail von: hat das Format prvs=tag-value=mailbox@example.com.


Ich denke, ich erinnere mich an einen X-Header für Retouren und Unzustellbarkeitsberichte. Wissen Sie, wann und wie dies verwendet wird?
goodguys_activate

X-Header wurden ursprünglich als Mittel für MUAs und / oder MTAs hinzugefügt, um benutzerdefinierte Metadaten zu speichern. Sie sind in keinem Standard festgelegt, obwohl einige zu Defacto-Standards werden. Möglicherweise denken Sie an den in RFC 6522 definierten MIME- Typ für mehrere Teile / Berichte, der definiert wurde, um die Software bei der Klassifizierung von Nachrichten zu unterstützen, die automatisch zurückgesendet werden. Diese werden weiterhin mit einem leeren Umschlag per Post verschickt von:
Richard Salts,

1

Sofern ich meine Kopfzeilen oder die Frage nicht richtig lese, werden E-Mails von meinem BlackBerry vom BlackBerry-Server gesendet, und im Grunde stimmt keines der Felder überein. Ein kleiner Prozentsatz der Benutzer, wie ich sehe. Ich habe dies kürzlich bei der Evaluierung meines Mailservers untersucht. Nachfolgend finden Sie eine anonymisierte E-Mail, die von meinem BlackBerry an mein Google Mail-Konto gesendet wurde:

Delivered-To: recipientusername@gmail.com
Received: by 10.50.11.138 with SMTP id q10csp217364igb;
        Wed, 14 Aug 2013 00:18:53 -0700 (PDT)
X-Received: by 10.42.83.84 with SMTP id g20mr4290552icl.10.1376464731205;
        Wed, 14 Aug 2013 00:18:51 -0700 (PDT)
Return-Path: <SRS0=BQ46+U=R3=example.com=senderusername@srs.bis6.us.blackberry.com>
Received: from smtp08.bis6.us.blackberry.com (smtp08.bis6.us.blackberry.com. [74.82.85.8])
        by mx.google.com with ESMTP id lq6si7427361icb.102.2013.08.14.00.18.51
        for <recipientusername@gmail.com>;
        Wed, 14 Aug 2013 00:18:51 -0700 (PDT)
Received-SPF: pass (google.com: domain of SRS0=BQ46+U=R3=example.com=senderusername@srs.bis6.us.blackberry.com designates 74.82.85.8 as permitted sender) client-ip=74.82.85.8;
Authentication-Results: mx.google.com;
       spf=pass (google.com: domain of SRS0=BQ46+U=R3=example.com=senderusername@srs.bis6.us.blackberry.com designates 74.82.85.8 as permitted sender) smtp.mail=SRS0=BQ46+U=R3=example.com=senderusername@srs.bis6.us.blackberry.com
Received: from b15.c8.bise6.blackberry ([192.168.0.115])
    by srs.bis6.us.blackberry.com (8.13.7 TEAMON/8.13.7) with ESMTP id r7E7InfH019786
    for <recipientusername@gmail.com>; Wed, 14 Aug 2013 07:18:49 GMT
Received: from 172.29.201.172 (cmp2.c8.bise6.blackberry [172.29.201.172])
    by b15.c8.bise6.blackberry (8.13.7 TEAMON/8.13.7) with ESMTP id r7E7IlCt013236
    for <recipientusername@gmail.com>; Wed, 14 Aug 2013 07:18:47 GMT
X-rim-org-msg-ref-id: 587275596
Message-ID: <587275596-1376464726-cardhu_decombobulator_blackberry.rim.net-631052459-@b17.c8.bise6.blackberry>
Reply-To: senderusername@example.com
X-Priority: Normal
Sensitivity: Normal
Importance: Normal
Subject: Test
To: "Recipient Name" <recipientusername@gmail.com>
From: senderusername@example.com
Date: Wed, 14 Aug 2013 07:18:45 +0000
Content-Type: text/plain
MIME-Version: 1.0

Test
Sent via BlackBerry by AT&T

Dafür gibt es einen hervorragenden Grund - das Umschreiben des SPF . Wenn BlackBerry dies nicht tun würde, würden viel mehr SPF-Fehler von Ihrem Gerät gesendet.
MikeyB

Stimmt, aber das liegt daran, dass BlackBerry meinen Server nicht zum Senden verwendet.
Paul
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.