Technik · belegte Antwort
MIME: Multipurpose Internet Mail Extensions einfach erklärt
MIME steht für Multipurpose Internet Mail Extensions. Der Standard erweitert das ursprüngliche Simple Mail Transfer Protocol (SMTP), sodass sich auch Inhalte ohne reinen Text austauschen lassen, etwa Bilder, Audio, Video und Anwendungsdaten, ebenso wie Rich-Text-Formate wie HTML.
So funktioniert MIME
MIME fügt der E-Mail bestimmte Header hinzu, die dem empfangenden Mailprogramm mitteilen, wie es den Body behandeln soll. Der wichtigste Header ist Content-Type, der den Medientyp der Daten festlegt. So steht text/plain für einfachen Text, text/html für eine formatierte Webseite. Werden mehrere Inhaltstypen in einer E-Mail versendet, fassen die Typen multipart/mixed oder multipart/alternative die einzelnen Teile zusammen.
Bedeutung für Absender
MIME ist für die Zustellbarkeit und das Nutzererlebnis moderner E-Mails unverzichtbar. Ohne MIME wären E-Mails auf 7-Bit-ASCII-Zeichen beschränkt. Damit wären Internationalisierung und Anhänge unmöglich. Mit MIME können Absender neben einer HTML-Version auch eine Plain-Text-Version als Fallback mitschicken, sodass die Nachricht unabhängig von den Fähigkeiten des E-Mail-Clients des Empfängers lesbar bleibt.
Hinweise und häufige Fehler im Betrieb
Ein häufiger Fehler ist ein fehlender oder falscher charset im Content-Type-Header, der zu fehlerhaften Zeichen (Mojibake) führt. Ein weiteres Problem sind falsche Boundary-Definitionen in Multipart-Nachrichten. Dann erscheint die E-Mail als Rohcode, oder Anhänge fehlen. Entwickler sollten sicherstellen, dass Binärdaten mit Base64 kodiert sind, damit sie auf dem Weg über SMTP-Relays nicht beschädigt werden.
Konkretes Beispiel
Ein typischer MIME-Header für eine HTML-E-Mail mit Anhang sieht so aus: Content-Type: multipart/mixed; boundary=boundary_123. Im Body ist der erste Teil für den Nachrichtentext als Content-Type: text/html; charset=UTF-8 gekennzeichnet, der zweite Teil für die Datei als Content-Type: application/pdf; name=invoice.pdf. Mit SendHQ oder den kostenlosen Tools (https://sendhq.cc/tools) können Sie analysieren, wie Ihre Header aufgebaut sind.
Kodierungsverfahren
Da SMTP für Text entworfen wurde, überträgt MIME Binärdaten mit Kodierungsverfahren. Am gängigsten ist Base64, das Binärdateien in eine Zeichenfolge aus ASCII-Zeichen umwandelt. Die Quoted-Printable-Kodierung dient für Text, der überwiegend aus ASCII besteht, aber einige Nicht-ASCII-Zeichen enthält. Sie verursacht weniger Overhead als Base64 und bleibt zu älteren Mailsystemen kompatibel.
Häufige Fragen von Teams
Ist MIME dasselbe wie SMTP?
Nein. SMTP ist das Protokoll, das die E-Mail von einem Server zum nächsten transportiert. MIME ist der Standard, der das Format des transportierten Inhalts festlegt.
Was ist der MIME-Typ multipart/alternative?
Er kommt zum Einsatz, wenn derselbe Inhalt in mehreren Formaten versendet wird, etwa als Plain-Text und HTML. So kann der E-Mail-Client die am besten geeignete Version zur Anzeige auswählen.
Warum verwendet MIME Base64?
Base64 kodiert Binärdaten als ASCII-Text. So bleiben die Daten intakt, wenn sie Mailserver passieren, die nur 7-Bit-Text unterstützen.
Lässt sich MIME auch außerhalb von E-Mail nutzen?
Ja. Das MIME-Typsystem (heute Media Types genannt) wird im gesamten Web verwendet, unter anderem in HTTP-Headern, um den Typ einer heruntergeladenen oder hochgeladenen Datei zu beschreiben.
Primärquellen
- RFC 2045: MIME Part One: Format of Internet Message Bodies — RFC-Editor
- RFC 5322: Internet Message Format — RFC-Editor