SMTP P1/P2-Felder

Es gibt weit mehr Adressen in einer Mail als nur "From" "To" und vielleicht noch CC". Auf dieser Seite möchte die die verschiedenen Felder im Header aber auch im Envelope und deren Bedeutung kurz vorstellen.

Felder

Wenn Mailserver miteinander Nachrichten austauschen, dann wird im SMTP-Protokoll mit den Befehlen "MAIL FROM" und "RCPT TO" der reale Absender und Empfänger ausgetauscht. Diese Felder sehen Sie als Anwender aber in der Regel nicht, denn Sie dienen nur den Transport. Diese Felder werden auch als "P1"-Felder bezeichnet. Die eigentliche Mail besteht dann auch wieder aus einem Header mit ganz vielen Feldern und einem Body mit der eigentlichen Nachricht. Anlagen sind im Body entsprechend codiert. Die Adressen im Header werden auch als P2-Felder bezeichnet. Also schauen wir uns die Felder und deren Bedeutung einmal an:

Status Feldname Sichtbar Bedeutung

Envelope

MAIL FROM

Nein

Diese Zeile gibt den Absender der Mail an und wird z.B. für die Bewertung mittels SPF herangezogen. Betreiber eines Mailservers können eine Liste der Server für ihre Domain mittels DNS veröffentlichen und damit Fälschungen dieser Adresse erschweren. Über einen DMARC-Eintrag kann der Admin sogar fordert, dass der Header:From stattdessen geprüft werden muss.

Envelope

RCPT TO

Nein

Dieser Befehl übermittelt den Empfänger an den Zielserver. Dies ist das tatsächliche Postfach und für das Routing entscheidet. Das "From"-Feld im Header ist nicht relevant. Der Befehl muss für jeden Empfänger wiederholt werden. So können Sie auch Mails an Personen zustellen, die nicht in den Felder "To" und "CC" des Headers stehen. Das trifft z.B. für "Blind Kopien" (BCC) zu, die nicht in der Liste der regulären Empfänger erscheinen

Header

From

Ja

Dieses Feld gibt den Absender der Mail vor. Das ist ein Freitext und muss in keinster Weise mit realen Absender übereinstimmen. Wer seine Domäne schützen will, kann aber per DMARC z.B. vorgeben, dass der SPF-Check auf diesen Wert und nicht den Envelope-From gehen soll. Auch DKIM kann diesen Wert absichern. Das Feld wird von ihrem MailClient auch angezeigt. Es wird auch gerne als "RFC5322.From"-Feld bezeichnet.

Header

To

Ja

Dieses Feld enthält alle direkten Empfänger. Es wird aber ebenfalls nicht zum Routing genutzt, sondern ist quasi nur "informativ".

Header

CC

Ja

Dieses Feld enthält alle Kopien-Empfänger. Es wird aber ebenfalls nicht zum Routing genutzt, sondern ist quasi nur "informativ".

Header

BCC

Nein

Falle: Diese Feld gibt es nicht, denn damit würde ja offensichtlich, wer die Blindkopien bekommen hat.

Header

Sender

Je Client

Nun kann man fragen, warum dieses Feld optional vorhanden sein kann, wo es doch schon das Header:From-Feld gibt. Wenn es vorhanden ist, dann soll es den realen Sender angeben. Neuere Outlooks zeigen diesen Wert hinter "Im Auftrag von" als Absender an.

Header

Reply-To

Bei Antwort

Diese Feld sehen Sie beim Lesen der Mail noch nicht aber wenn Sie auf die Mail antworten, sollte der Mailclient diese Adresse für die Antwort als Empfänger nutzen.

Header

Return-Path

Nein

Diese Feld wird von einigen Mailservern addiert, um den Inhalt des "MAIL FROM" in der Mail mit zu speichern, z.B. für Fehleranalysen oder die Verarbeitung von "Bounces". Er sollte natürlich nur einmal vorkommen.

Sie sehen also, dass es viele Felder für fast alle Einsatzzwecke gibt, aber für das direkte Routing nur die Felder im SMTP-Protokoll (Envelope) zuständig sind, während alle anderen Felder im Header nur teilweise zur Anzeige kommen und prinzipiell jeden beliebigen Wert annehmen können. Einzig ein Spamfilter, der In Zusammenarbeit mit den DNS-Einträgen und DKIM-Signatur der angeblichen Absender-Domäne, eine Prüfung machen kann, kann Fälschungen erkennen.

Anzeige in Outlook

Um die Bedeutung der Felder deutlich zu machen, habe ich eine triviale Test-Mail von intern an meinen Exchange Server gesendet. Hier der Auszug der SMTP-Verbindung per TELNET

220 ex2016.msxfaq.net Microsoft ESMTP MAIL Service ready at Thu, 24 Sep 2020 14:05:57 +0200
helo client.msxfaq.de
250 ex2016.msxfaq.net Hello [192.168.1.20]
mail from:user1@msxfaq.de
250 2.1.0 Sender OK
rcpt to:user4@msxfaq.de
250 2.1.5 Recipient OK
data
354 Start mail input; end with <CRLF>.<CRLF>
From: user2@msxfaq.de
sender:user3@msxfaq.de
to:user5@msxfaq.de
subject: test p1p2sender

test
.
250 2.6.0 Queued mail for delivery

Outlook hat die Mail wie folgt angezeigt:

Die Informationen aus dem Envelope sind, wie erwartet, nicht sichtbar. Es gibt Mailserver, die den "Envelope-From" als zusätzliches Feld in den Header übertragen. Oft wird dabei auch das "Sender"-Feld des Headers benutzt, wenn es nicht schon belegt ist. Das ist aber nicht Pflicht.

Wenn sich aber "Sender:" und "From:" unterscheiden, dann macht Outlook zumindest ein "Im Auftrag von" drauf. Der "Sender" ist dann z. B. das Vorzimmer, welches im Auftrag des Vorgesetzten die Mail sendet.

"From"-Adresse fälschen?

Mit Outlook ist es schon möglich, sich das "Von"-Feld einblenden zu lassen oder sogar weitere Adressen einfach zu hinterlegen. Allerdings ist das keine Garantie, dass Sie dann auch mit der anderen Identität senden können

Exchange Server Überprüfung unabhängig vom Client die Berechtigung der angemeldeten Benutzers. Der Versuch z.B. eine Mail per SMTP an einen Exchange-Server mit nicht zum authentifizierten Benutzer passenden Absenderadresse zu senden, wird abgelehnt.

554 5.2.0 STOREDRV.Submission.Exception:SendAsDeniedException.MapiExceptionSendAsDenied; Failed to process
message due to a permanent exception with message Cannot submit message. 0.35250:15340000,

Maßgeblich ist dabei die "Header-From"-Adresse.  Der Envelope-From wird von Exchange nicht geprüft.

Weitere Links