MIME-Decoder

Fügen Sie den vollständigen Quelltext einer E-Mail ein - Header und Text - und sehen Sie ihn aufgeschlüsselt: jeden Header, die MIME-Struktur, die Transfer-Kodierung und den Charset jedes Teils, den decodierten text/HTML-Text sowie alle Anhänge. Alles läuft in Ihrem Browser; nichts wird hochgeladen.

Ergebnis:
Fügen Sie oben eine E-Mail im Rohformat ein und klicken Sie auf „Nachricht decodieren“. Tipp: Verwenden Sie in den meisten Mail-Clients „Original anzeigen“ / „Quelltext anzeigen“ oder speichern Sie die Nachricht als .eml-Datei, um den Rohtext zu erhalten.

Was ist ein MIME-Decoder, und was bedeuten all diese Header?

Jede E-Mail, die Sie erhalten, ist im Grunde ein reines Textdokument, das einer strengen Struktur folgt, definiert durch MIME (Multipurpose Internet Mail Extensions) und das ältere Nachrichtenformat RFC 5322. Wenn Sie den “Rohquelltext” oder eine gespeicherte .eml-Datei öffnen, wird diese Struktur sichtbar: ein Block von Headern, eine Leerzeile und dann der Text. Dieser Decoder zerlegt jede von Ihnen eingefügte Nachricht in diese Teile — Header, den MIME-Baum, die Transfer-Kodierung und den Charset jedes Teils, den decodierten text/HTML sowie jeden Anhang — vollständig in Ihrem Browser. Es wird nichts an irgendeinen Server hochgeladen; das Parsen läuft auf Ihrem eigenen Computer.

1. Die grobe Form einer Nachricht

Eine Nachricht hat zwei Abschnitte, getrennt durch die erste Leerzeile:

Header-Name: header value Another-Header: another value (a folded continuation line) <blank line> The body starts here…
  • Header beschreiben die Nachricht: wer sie gesendet hat, wann, den Betreff und — entscheidend für MIME — wie der Text kodiert und strukturiert ist.
  • Die Leerzeile ist die Grenze zwischen Headern und Text. Die allererste Leerzeile beendet den Header-Block.
  • Der Text ist alles, was danach kommt. Bei einer modernen Nachricht ist der Text meist kein reiner Text, sondern eine MIME-Struktur mit mehreren Teilen.

2. Wie Header geschrieben werden

Zwei Regeln bringen beim Lesen des Rohquelltextes viele durcheinander:

  • Folding. Ein langer Header kann auf mehrere Zeilen aufgeteilt werden; jede Fortsetzungszeile beginnt mit einem Leerzeichen oder Tabulator. Beim Lesen werden diese Zeilen wieder zu einem Wert zusammengefügt (“entfaltet”).
  • Encoded-words (RFC 2047). Header erlauben offiziell nur ASCII, daher werden nicht-englischer Text und Emoji als =?charset?B?…?= (Base64) oder =?charset?Q?…?= (eine quoted-printable-Variante) verpackt. Zum Beispiel decodiert =?UTF-8?Q?caf=C3=A9?= zu café. Der Decoder oben zeigt den lesbaren Wert; der Rohwert ist das, was tatsächlich über die Leitung geht.

3. Die Header-Felder erklärt

Dies sind die Variablen, die Sie oben in nahezu jeder Nachricht sehen. Nicht alle sind immer vorhanden.

Adressierung und Identität

HeaderWas er bedeutet
FromDer dem Leser angezeigte Autor — ein Anzeigename und eine Adresse, z. B. Anna <anna@example.com>. Das zeigt Ihr Mail-Client an; es ist kein Beweis dafür, wer die Mail wirklich gesendet hat (siehe SPF/DKIM unten).
To, CcPrimäre Empfänger und Kopie-Empfänger. Rein informative Header — die tatsächliche Zustellung wird durch den SMTP-Umschlag gesteuert, nicht durch diese.
BccBlindkopie. Wird normalerweise vor der Zustellung entfernt, sodass Sie ihn in empfangener Post selten sehen.
Reply-ToWohin Antworten gehen sollen, wenn sich das von From unterscheidet (z. B. ein “no-reply”-Absender, der Antworten an den Support leitet).
Return-PathDer Umschlag-Absender (die “MAIL FROM”-Adresse), an den Unzustellbarkeitsmeldungen gesendet werden. Wird vom empfangenden Server hinzugefügt und unterscheidet sich oft von From.
SenderDer tatsächliche Agent, der die Nachricht eingereicht hat, wenn er nicht der Autor ist (Mailinglisten, “im Auftrag von”).
Message-IDEin global eindeutiger Bezeichner für diese Nachricht, wie <a1b2c3@example.com>. Wird für Threading und Deduplizierung verwendet.

Threading, Datum und Betreff

HeaderWas er bedeutet
SubjectDie Betreffzeile. Häufig ein Encoded-word, wenn sie Nicht-ASCII-Zeichen enthält.
DateWann der Autor die Nachricht gesendet hat, mit Zeitzonenversatz, z. B. Wed, 9 Jul 2026 10:15:00 +0000.
In-Reply-ToDie Message-ID, auf die diese Nachricht antwortet — lässt Clients Konversations-Threads aufbauen.
ReferencesDie Kette der früheren Message-IDs im Thread.

Routing und Authentifizierung

HeaderWas er bedeutet
ReceivedEine Trace-Zeile, die jeder Mailserver hinzufügt, den die Nachricht durchlaufen hat, der neueste ganz oben. Von unten nach oben gelesen, zeigen sie den Zustellweg und die Zeitstempel.
DKIM-SignatureEine kryptografische Signatur, mit der der Empfänger bestätigen kann, dass die Nachricht wirklich von der Domain gesendet und unterwegs nicht verändert wurde.
Authentication-ResultsDas Urteil des empfangenden Servers zu den Prüfungen von SPF, DKIM und DMARC (pass/fail). Eine schnelle Möglichkeit einzuschätzen, ob ein “From” vertrauenswürdig ist.
Received-SPFOb die sendende IP berechtigt ist, für die Umschlag-Domain zu senden.
List-UnsubscribeFür Massen-/Newsletter-Mail: die Adresse oder URL, die ein Client für das Abbestellen mit einem Klick verwendet.

4. Die MIME-Variablen — wie der Text aufgebaut wird

Diese wenigen Header steuern die gesamte Struktur des Texts. Sie sind die Variablen, die diesen Decoder am meisten interessieren.

VariableWas sie bewirkt
MIME-Version: 1.0Erklärt, dass die Nachricht MIME verwendet. Praktisch immer 1.0.
Content-TypeDie mit Abstand wichtigste Variable: der Medientyp eines Teils (text/plain, text/html, image/png, application/pdf, multipart/*…). Sie trägt Parameter nach Semikolons.
charsetEin Parameter eines Text-Content-Type: die Zeichenkodierung des Textes, z. B. charset="UTF-8". Nötig, um Bytes wieder in die richtigen Buchstaben zu verwandeln.
boundaryEin Parameter eines multipart-Typs: eine eindeutige Markierungszeichenfolge. Jeder Teil beginnt mit --boundary, und der letzte endet mit --boundary--.
Content-Transfer-EncodingWie die Bytes des Teils verpackt wurden, damit sie als 7-Bit-Text über die Leitung überleben (siehe Tabelle unten).
Content-Dispositioninline (in der Nachricht anzeigen) oder attachment (als Datei anbieten). Trägt üblicherweise einen filename-Parameter.
name / filenameDer vorgeschlagene Dateiname eines Anhangs, in Content-Type bzw. Content-Disposition.
Content-IDEin Bezeichner für einen Inline-Teil (z. B. ein Bild), damit der HTML-Text ihn mit cid: referenzieren kann.

Die gängigen multipart-Typen

  • multipart/alternativedieselbe Nachricht in zwei Formen: ein text/plain-Rückfall und eine text/html-Version. Der Client zeigt die reichhaltigste an, die er kann.
  • multipart/mixed — ein Text plus Anhänge, zusammengebündelt.
  • multipart/related — ein HTML-Teil zusammen mit den Inline-Bildern, die er per Content-ID referenziert.

Diese verschachteln sich: eine echte Nachricht ist oft ein multipart/mixed, das ein multipart/alternative (Text + HTML) neben einem PDF-Anhang enthält. Der Decoder zeigt dies als nummerierten Baum (1, 1.1, 1.2…).

5. Content-Transfer-Encoding-Werte

WertBedeutung
7bitReines ASCII, nichts verändert. Der Standard, wenn keine Kodierung angegeben ist.
8bitRohe Bytes über 127 werden direkt verwendet (benötigt einen 8-Bit-sauberen Pfad).
binaryBeliebige Bytes, keine Zeilenlängenbeschränkung — selten in normaler Post.
quoted-printableGrößtenteils lesbarer Text, bei dem Nicht-ASCII-Bytes zu =XX-Hex werden (und ein = am Zeilenende ein weicher Umbruch ist). Gut für Text, der überwiegend englisch ist mit ein paar Akzenten.
base64Beliebige Bytes, umkodiert in ein sicheres 64-Zeichen-Alphabet, ~33% größer. Wird für Bilder, PDFs und andere binäre Anhänge verwendet.

Der Decoder kehrt jene Kodierung um, die verwendet wurde, und wendet dann den charset des Teils an — damit Text wieder lesbar zurückkommt und Anhänge als ihre ursprünglichen Bytes (die Sie herunterladen können).

6. Ein durchgearbeitetes Beispiel

Klicken Sie oben auf “Beispiel laden”, um eine kleine Nachricht zu laden und sie decodiert zu sehen. Ihr Gerüst sieht so aus:

Subject: =?UTF-8?Q?Meeting_notes_=E2=80=93_caf=C3=A9?= ← encoded-word MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="OUTER" --OUTER Content-Type: multipart/alternative; boundary="INNER" --INNER Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable ← Textteil ... --INNER Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: base64 ← HTML-Alternative ... --INNER-- --OUTER Content-Type: text/plain; name="notes.txt" Content-Disposition: attachment; filename="notes.txt" Content-Transfer-Encoding: base64 ← Anhang ... --OUTER--

So liest man es: der äußere Typ ist multipart/mixed, also ist der Text “Inhalt + Anhang”. Sein erstes Kind ist ein multipart/alternative, das die Klartext- und HTML-Version derselben Notiz enthält; sein zweites Kind ist der notes.txt-Anhang. Der Subject ist ein Encoded-word, das zu “Meeting notes – café” decodiert.

7. Datenschutz

Alles bleibt auf Ihrem Gerät. Dieses Tool parst die Nachricht mit JavaScript in Ihrem Browser — die E-Mail im Rohformat wird niemals an uns oder jemand anderen gesendet, und nichts wird gespeichert. Sie können private oder sensible Nachrichten sicher untersuchen.

Sobald Sie wissen, von welchem Server eine Nachricht kam, können Sie tiefer graben: schlagen Sie die MX-Abfrage der Domain nach, lesen Sie im Leitfaden SMTP-Prüfung mit telnet, wie ein Server antwortet, oder prüfen Sie mit dem E-Mail-Checker, ob eine Adresse zustellbar ist.