MIME
MIME-Protokollgrundlagen
Das Multipurpose Internet Mail Extensions (MIME) ist ein Standard, der es ermöglicht, verschiedene Arten von Inhalten innerhalb einer E-Mail zu kodieren. MIME erweitert das ursprüngliche E-Mail-Format, das nur reinen ASCII-Text unterstützte, um Anhänge, HTML-E-Mails, Bilder und andere Medienformate zu ermöglichen.
Struktur von MIME-Nachrichten
Eine MIME-Nachricht besteht aus folgenden Komponenten:
- Einem Header, der angibt, dass MIME verwendet wird und welche Inhalte enthalten sind.
- Einer oder mehreren Body-Parts, die verschiedene Medienformate enthalten können.
- Einer Grenzlinie (Boundary), die verschiedene Teile einer Nachricht trennt.
Typische MIME-Header sind:
MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="Grenze123" Content-Transfer-Encoding: base64
MIME-Typen
MIME definiert verschiedene Medientypen zur Kodierung von E-Mail-Inhalten:
- text/plain – einfacher Text
- text/html – HTML-formatierter Text
- image/jpeg, image/png – Bilddateien
- application/pdf, application/zip – Anhänge wie PDFs oder ZIP-Dateien
- multipart/mixed – E-Mails mit mehreren Anhängen
- multipart/alternative – E-Mails mit verschiedenen Darstellungsformen (z. B. Text und HTML)
MIME-Kodierung
Da E-Mails ursprünglich nur ASCII-Zeichen unterstützen, werden Binärdateien mit speziellen Kodierungen übertragen:
- Base64 – Kodiert Binärdaten in eine Zeichenkette aus ASCII-Zeichen.
- Quoted-Printable – Verwendet ASCII-Zeichen und kodiert Sonderzeichen als `=XX` (Hexadezimalwert).
Beispiel für eine Base64-kodierte Datei:
Content-Type: application/pdf Content-Transfer-Encoding: base64 JVBERi0xLjQKJcfs...
Multipart-Nachrichten
MIME erlaubt das Senden mehrerer Inhalte in einer E-Mail durch den Typ multipart/*:
- multipart/mixed – Enthält verschiedene Dateitypen (z. B. Text + Anhang).
- multipart/alternative – Enthält verschiedene Versionen derselben Nachricht (z. B. Plaintext und HTML).
- multipart/related – Enthält zusammengehörige Inhalte, z. B. HTML mit eingebetteten Bildern.
Beispiel für eine multipart-Nachricht mit Text und einem Anhang:
MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="Grenze123" --Grenze123 Content-Type: text/plain Dies ist eine normale Textnachricht. --Grenze123 Content-Type: application/pdf Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="beispiel.pdf" JVBERi0xLjQKJcfs... --Grenze123--
MIME in E-Mail-Clients
Die meisten modernen E-Mail-Clients unterstützen MIME automatisch:
- Nachrichten mit HTML oder Bildern werden korrekt angezeigt.
- Anhänge können direkt aus der E-Mail gespeichert werden.
- Alternativ-Versionen (Plaintext/HTML) werden je nach Client-Präferenz angezeigt.
Beendigung
MIME ist heute der Standard für den Austausch von multimedialen Inhalten per E-Mail. Es ermöglicht eine strukturierte und kompatible Übertragung von Anhängen, HTML-Mails und anderen Formaten, die über das ursprüngliche ASCII-basierte E-Mail-Format hinausgehen.
Beispiele
telnet mail.example.com 25 EHLO mail.example.com MAIL FROM:<absender@example.com> RCPT TO:<empfaenger@example.com> DATA MIME-Version: 1.0 Content-Type: text/html <html><body><h1>Hallo!</h1></body></html> . QUIT