MIME

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

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

Ablauf einer MIME-Nachricht