Multipurpose Internet Mail Extensions (MIME)-Protokoll

Verstehen von MIME‑Headern

MIME‑Header enthalten Informationen über das Protokoll.

MIME-Version

Dies zeigt an, dass die Nachricht im MIME-Format vorliegt. Sie erscheint als:

MIME-Version: 1.0

Content-Type

Dies gibt den Inhaltstyp der Nachricht an, angegeben als Typ‑ und Subtyp‑Paar, z. B. text/plain, text/html. Der Multipart‑Inhaltstyp kann Text, HTML, Anhänge, Bilder, Audio, Video usw. enthalten.

Content-Type: multipart

Content-Transfer-Encoding

Gibt an, ob ein Binär‑zu‑Text‑Kodierungsschema zusätzlich zum im Content-Type angegebenen Encoding verwendet wird. Falls ja, wird angegeben, welches. Hier können wir 7‑Bit, 8‑Bit und Binär‑Kodierungstypen festlegen.

Encoded‑Word

SMTP‑Nachrichten-Header verwenden normalerweise ASCII‑Zeichen. Nicht‑ASCII‑Zeichen müssen die MIME‑kodierte Wort‑Syntax anstelle eines wörtlichen Strings verwenden. Das Format ist:

"=? charset ? encoding ? encoded text ?=".

Multipart‑Nachrichten

Eine MIME-Multipart-Nachricht enthält eine Grenze (Boundary) im Content-Type‑Header. Diese Grenze, die in keinem der Teile vorkommen darf, wird zwischen den Teilen sowie am Anfang und Ende des Nachrichten‑Body platziert, wie folgt:

MIME-Version: 1.0


 Content-type: multipart/mixed; boundary="frontier"

This is a multi-part message in MIME format.

--frontier

Content-type: text/plain

This is the body of the message.

--frontier

Content-type: application/octet-stream

Content-transfer-encoding: base64

PGh0bWw+CiAgPGhlYWQ+CiAgPC9oZWFkPgogIDxib2R5PgogICAgPHA+VGhpcyBpcyB0aGUg

Ym9keSBvZiB0aGUgbWVzc2FnZS48L3A+CiAgPC9ib2R5Pgo8L2h0bWw+Cg==

--frontier--

Jeder Teil besteht aus einem eigenen Inhalts‑Header und einem Body.

Multipart‑Subtypen

Der MIME‑Standard definiert verschiedene multipart‑Message‑Subtypen. Der Subtyp wird im „Content-Type“-Header der Gesamtnachricht angegeben.

Im Folgenden ist eine Liste der am häufigsten verwendeten Subtypen.

  • Mixed: multipart/mixed wird verwendet, um Dateien mit unterschiedlichen „Content-Type“-Headers inline zu senden. Beim Senden von Bildern oder anderen leicht lesbaren Dateien zeigen die meisten Mail‑Clients sie inline an.
  • Message: Ein Nachrichten‑Teil enthält eine E‑Mail‑Nachricht.
  • Digest: Digest ist eine einfache Möglichkeit, mehrere Textnachrichten zu senden. Der Standard‑Content‑Type für jeden Teil ist „message/rfc822“.
  • Alternative: Der alternative Subtyp gibt an, dass jeder Teil eine „alternative“ Version desselben (oder eines ähnlichen) Inhalts ist, jeweils in einem anderen Format, das durch den „Content-Type“-Header angegeben wird.

Am häufigsten wird multipart/alternative für E‑Mails mit zwei Teilen verwendet, einem Nur‑Text‑Teil (text/plain) und einem HTML‑Teil (text/html). Der Nur‑Text‑Teil sorgt für Abwärtskompatibilität, während der HTML‑Teil Formatierungen und Hyperlinks ermöglicht. Die meisten E‑Mail‑Clients bieten eine Option, rein‑Text zu bevorzugen; dies ist ein Beispiel dafür, wie lokale Faktoren beeinflussen können, welchen „besten“ Teil einer Nachricht eine Anwendung anzeigt.