Envelope und Header

Vielleicht landet auch in ihrem Postfach ab und an eine Mail, die sie eigentlich gar nicht hätten erhalten dürfen. Sie stehen nämlich gar nicht in der  Liste der Empfänger drin. Meist handelt es sich dabei um Werbemails (Spam und UCE), die Sie damit verwirren wollen, wie man hier erkennen kann.

Nicht immer ist auch wirklich etwas falsch gelaufen, sondern der Absender hat einen anderen Namen nur mit ihrer Mailadresse verbunden, wie dies in diesem Fall ist: (Doppelklick auf den Empfänger)

Um das Prinzip und Problem zu verstehen, müssen wir etwas tiefer in die Übermittlung eines Briefes einsteigen:

Die Bestandteile eines Mail

Für die Übertragung einer Mail im Internet sind drei wichtige Bausteine erforderlich:

  • Envelope
    Dies sind Steuerungsdaten für die Mailserver, um die Nachricht korrekt zu übermitteln. Als Anwender sehen Sie diese Daten in der Regel nie, da der Mailserver beim Ablegen der Mail in ihrem Postfach diese Daten löscht.
  • Header
    Das sind Informationen, die auch Outlook anzeigt, z.B. Datum, Betreff, Wichtigkeit aber auch Absender und Empfänger
  • Body
    Der Inhalt der Mail. Früher was das wirklich nur ein Text. Anlagen, Bilder und andere Dinge zählen zum Body, und werden im Body selbst codiert abgelegt (MIME, UUENCODE), so dass ihre Anwendung dies versteht und für den Anwender entsprechende Anlagen anzeigt.

Wenn Sie aber genau aufgepasst haben, dann ist eine gewisse Information doppelt: Sowohl im Header als auch im Envelope sind Daten über den Absender und Empfänger enthalten. Wenn Sie nun glauben, dass dies "doppelt" ist, dann irren Sie, denn es gibt hierfür einen Gründe: Die Informationen im Envelope dienen den Mailservern (SMTP-Server) dazu, die Nachrichten zu routen. Die Informationen im Header dienen der Anzeige beim Anwender.

Anzeigenamen, Verteiler und BCC

Warum diese Trennung sinnvoll ist,  erkennen wir an der Art, wie Mailadressen genutzt werden:

  • Anzeigename
    Eine Mail an username@firma.tld kommt anhand der Mailadresse an, aber Anwender nutzen lieber "schöne" Namen wie "Nachname, Vorname". Mit solche einer Adresse kann ein Mailserver natürlich nichts anfangen.
  • Verteiler
    So einfach ein Anwender eine Mail an eine Gruppe senden kann, aber spätestens, wenn die Empfänger einer Gruppe in verschiedenen Domänen sind, muss die Mail irgendwann aufgeteilt werden. Es ist natürlich sinnvoll, die Mail erst dort aufzuteilen, wo die Wege sich trennen. Es wäre sehr unpraktisch, wenn Sie eine Mail an 10 Empfänger senden und ihr Mailserver die gleiche Mail zehnmal über die gleiche Leitung zum nächsten Server überträgt.
  • BCC
    Blindkopien erlauben den Versand einer Kopie an einen Empfänger, der nicht in der Liste der Empfänger auftaucht. Würde diese Adresse nun in der "TO"-Zeile stehen, könnte jeder Anwender dies erkennen. Aber die Mailserver müssen diese natürlich schon wissen, damit eine Mail auch zugestellt wird

An diesem vereinfachten Beispiel möchte ich daher die unterschiede zwischen RCPT TO und TO aufzeichnen:

  • Eine Mail wird von einem Anwender auf dem Server S1 an die vier Postfächer P1, P2, P3 und P4 gesendet.
  • Empfänger P1, P2, P3 sind normale Empfänger auf drei verschiedenen Servern.
  • Empfänger P4 ist ein BCC Empfänger (Blindkopie)

Die Mail durchläuft folgende Stationen:

  • Einstellen der Mail
    Der Absender erstellt eine Mail mit den Empfängern P1, P2 und P3 und einer BCC an P4.
    Der Mailserver holt sich diese Informationen aus der Mail und erstellt die RCPT-TO Information. Die BCC-Information verschwindet aus der Mail selbst, da sie für die weitere Verarbeitung nicht erforderlich ist.
  • S1 nach S2
    Anhand der RCPT-TO-Zeile sendet S1 die Mail komplett als eine Mail über die Leitung zu S2
  • S2 Verarbeitung
    S2 erkennt, dass ein Empfänger lokal ist und stellt die Mail zu. Weiterhin erkennt der Server, dass er nun die Mail aufteilen muss, da P2 auf S3 und P3, P4 auf S4 liegen.
  • S2 nach S3
    S2 sendet eine Instanz der Mail mit RCPT TO:P2 an den S2. In der To-Zeile stehen weiterhin alle drei sichtbaren Empfänger
  • S3 Verarbeitung
    Die Mail wird lokal zugestellt
  • S2 nach S4
    Hier stehen in der RCPT-TO-Zeile die beiden Empfänger P3 und P4. Auch hier wird nur eine Mail übertragen, obwohl zwei Empfänger vorhanden sind.
  • S4 Verarbeitung
    Die Mails werden lokal zugestellt

An diesem Beispiel haben wir die Funktion von BCC und den Versand an mehrere Personen demonstriert. für die Übermittlung der Nachrichten zwischen den Servern ist nur die Information im Envelope einer Mail relevant. Dieser Envelope wird vom ersten Mailserver erstellt und bei der Zustellung in ein Postfach vom jeweiligen Mailserver wieder entfernt. Diese Daten sind daher nicht Bestandteil der Mail.  Es gibt auch keinen Standard für die Speicherung dieser Informationen. Die meisten Mailserver speichern die Daten als Bestandteil der Mail in der Queue als so genannte Metadaten mit ab.

Outlook selbst kann auf diese Daten aber niemals zugreifen, da in einem Postfach diese Daten nicht mehr vorhanden sind. Das ist übrigens auch eines der Probleme vieler POP3 Sammelprogramme, die entsprechend Kniffe eingebaut haben, um aus den Daten des Headers wieder ein RCPT-TO zur Weiterleitung an einen nach geschalteten Mailserver erstellen. (Siehe auch POP3 abholen) Einige Mailserver unterstützen diese Funktion, indem Sie die RCPT-TO in den Header übernehmen. Dann muss ihr Programm diese Informationen dort auch suchen, extrahieren und natürlich entfernen. Ansonsten ist eine BCC nicht mehr länger verborgen.

RCPT-TO, TO und Spammer

Jetzt wissen Sie aber auch, warum RCPT-TO und TO zweierlei Dinge sind und wie Spammer sie vielleicht in die Irre führen können.

Ein Spammer sendet nämlich einfach eine Mail an ihr Postfach, wobei er ihre Mailadresse nur im Envelope (RCPT TO) nutzt aber im Header etwas ganz anderes hinein schreibt. Auf den ersten Blick könnten sie daher denken, dass hier eine Mail falsch zugestellt worden ist oder sogar ein Fehler in Exchange vorliegt.

Leider können Sie das nicht einmal klar nachweise, da Sie in Outlook nur den Header sehen und dort steht sowieso nur das drin, was Outlook auch schon in der Mail anzeigt, nämlich die TO und FROM-Zeilen, das Datum und der Betreff. All diese Dinge können natürlich gefälscht sein. (Siehe auch Gefälschter Absender).

Sie können das ganz einfach selbst testen, indem Sie einmal mit einem einfachen TELNET auf ihren Mailserver port 25 folgende Zeichen eingeben:

Ihre Eingabe Bedeutung

HELO Test

Sie melden Sich beim Mailserver mit HELO. Der Server wird ihnen antworten mit 250 OK oder etwas ähnlichem

MAIL FROM:user@firma.tld

Nun geben Sie vor, dass sie der user user@firma.tld wären. Das ist natürlich einfach zu fälschen. Nehmen Sie z.B. ihre Mailadresse. Sie wissen ja, dass diese Informationen vom Postfachserver sowieso nach der Zustellung der Mail gelöscht werden. Der Server muss mit einer 200er Meldung bestätigen.

RCPT TO:mailadresse

Hier müssen sie nun die gültige Mailadresse angeben, in die die folgende Mail zugestellt werden soll. Diese Information wird vom Mailserver genutzt. Der Server wird auch das mit einer 200er Meldung bestätigen

DATA

Nun sagen wir dem Mailserver, dass der Envelope abgeschlossen ist und wir die Nutzdaten senden möchten. Der Server wird auch das mit einer 200er Meldung bestätigen

To: Testuser1
From: Testuser2
Subject: Testmail

Test
.

Nun senden wir die Testmail und geben vor, dass die Fromadresse und To-Adresse einfach Testuser1 und Testuser2 sind. Der Betreff ist wahlfrei. Zwischen dem Header und dem Body muss eine leere Zeile sein, d.h. Sie drücken dazu einfach zweimal die Eingabetaste.

nach dem Body muss in einer neuen Zeile einfach nur ein Punkt "." stehen.

Der Server sollte die Mail angenommen haben.

QUIT

Wir beenden die Verbindung höflich

Das ganze sieht in etwa so aus:

Was sie dann in Outlook sehen ist, dass im Postfach eine Mail liegt, mit Testuser1 als Empfänger und Testuser2 als angeblichen Absender.

 Sie können bei der Mail nicht erkennen, was im Envelope gestanden hat und Sie  können nicht antworten, da Outlook aus den To und FROM-Zeilen keine SMTP-Mailadresse generieren kann.

Nun wissen Sie, wie es kommt, dass eine Mail in ihrem Postfach landet, die anscheinend gar nicht zu ihnen gesendet wurde. Es ist eher unwahrscheinlich, dass es ein Exchange Fehler ist, sondern eher, dass ein Spammer Sie mit diesem Trick etwas verwirren will oder dass Sie als Blindkopie-Empfänger der Nachricht eingesetzt wurden.

Weitere Links