Definition

MIME (Multipurpose Internet Mail Extensions)

MIME (Multipurpose Internet Mail Extensions) ist eine Erweiterung des ursprünglichen E-Mail-Protokolls Simple Mail Transport Protocol (SMTP). Es ermöglicht den Austausch verschiedener Arten von Datendateien, einschließlich Audio, Video, Bilder und Anwendungsprogramme, über E-Mail.

Im Gegensatz zu SMTP unterstützt MIME sowohl den Versand von ASCII-Text als auch von Nicht-ASCII-Daten per E-Mail. Für Text in anderen Zeichensätzen als ASCII ist das MIME-Protokoll erforderlich.

Nachteile von SMTP

SMTP wurde 1981 entwickelt und ist ein Standardprotokoll für die Übermittlung von Nachrichten per E-Mail. Das ursprüngliche SMTP-Protokoll unterstützte jedoch nur 7-Bit-ASCII-Textkommunikation, die weder authentifiziert noch verschlüsselt war. Mit nur 94 druckbaren ASCII-Zeichen kann das System nicht mit binären Dateien oder Zeichen in nicht-englischen Sprachen umgehen, die andere Schriftsysteme, Buchstaben mit Akzenten und so weiter verwenden. Mit reinem SMTP können auch keine Video- oder Audiodaten versendet werden.

Standardmäßig war jeder SMTP-Server ein offenes Mail-Relay, über das jeder E-Mails senden konnte, nicht nur solche von oder an bekannte Benutzer. Diese Einschränkungen machten die SMTP-Kommunikation anfällig für E-Mail-Spoofing, Spam, Würmer und Man-in-the-Middle-Angriffe (MitM). MIME wurde als Lösung für diese Einschränkungen vorgestellt.

Die Ursprünge von MIME

1991 schlug Nathaniel Borenstein, damals technischer Mitarbeiter bei Bellcore, der Internet Engineering Task Force (IETF) vor, SMTP so zu erweitern, dass Web- (und andere Internet-) Clients und Server alle Arten von Daten erkennen und verarbeiten können, nicht nur ASCII-Text auf lateinischer Basis, und dass die Kodierung von Binärdateien für die Übertragung über SMTP möglich ist.

Infolgedessen wurden neue Dateitypen zu „mail" als unterstütztem Internet-Protokoll-Dateityp hinzugefügt. MIME ist nicht auf Textdaten beschränkt und ist auch für andere Kommunikationsprotokolle wichtig, obwohl es ursprünglich nur entwickelt wurde, um die Unzulänglichkeiten von E-Mail und SMTP zu beheben.

Neue MIME-Datentypen werden bei der Internet Assigned Numbers Authority (IANA) registriert. Der RFC 6838 der IETF definiert die Verfahren zur Meldung und Registrierung von Medientypen für die Verwendung in MIME.

Vorteile von MIME

MIME hat mehrere Vorteile gegenüber SMTP.

  • Benutzer können verschiedene Arten von Binäranhängen per E-Mail versenden.
  • Es können mehrere Anhänge unterschiedlicher Art in dieselbe E-Mail eingefügt werden.
  • Für die Länge der Nachricht gibt es keine Grenzen.
  • Mehrteilige Nachrichten werden unterstützt.

MIME definiert vier Subtypen für mehrteilige Nachrichten, die die Art dieser Teile und ihre Beziehung zueinander spezifizieren. Insbesondere der Subtyp „multipart/alternative“ ermöglicht es den Systemen, die beste Darstellung der Nachricht zu wählen: einfacher Text oder HTML.

So funktioniert MIME

E-Mails mit MIME-Formatierung können über Standardprotokolle wie SMTP, Post Office Protocol (POP) oder Internet Message Access Protocol (IMAP) übertragen werden. Der Körper solcher Nachrichten kann aus mehreren Teilen bestehen. Der Header kann in Nicht-ASCII-Zeichensätzen angegeben werden, die MIME unterstützt. Der RFC 2045 der IETF definiert die verschiedenen Header, die zur Beschreibung der Struktur von MIME-Nachrichten verwendet werden.

Server fügen den MIME-Header am Anfang einer E-Mail-Übertragung ein. Clients verwenden den MIME-Header, um eine geeignete Player-Anwendung für den im Header angegebenen Datentyp auszuwählen. Einige Player sind in den Web-Client oder Browser integriert. So verfügen beispielsweise alle Browser über GIF- und JPEG-Bildplayer und können HTML-Dateien verarbeiten. Andere Player müssen möglicherweise heruntergeladen werden.

Auf der Seite des Absenders wandelt MIME Nicht-ASCII-Daten in 7-Bit NVT-Daten (Network Virtual Terminal) um. 7-Bit-ASCII kann 128 Zeichen darstellen. MIME übergibt dann diese umgewandelten Daten an den SMTP-Client. Beim Empfänger wird die Nachricht in die ursprünglichen Daten zurückverwandelt, so dass er den Inhalt sehen kann, unabhängig davon, ob es sich um Text, Audio, Video oder eine andere Art von Daten handelt.

Abbildung 2: Standard-E-Mail-Protokolle wie SMTP, POP oder IMAP können E-Mails mit MIME-Formatierung übertragen.

MIME-Header-Felder

Ein MIME-Header enthält mehrere Unterabschnitte. Dazu gehören:

MIME-Version

Dieses Header-Feld zeigt an, dass die Nachricht MIME-formatiert ist. Sein Wert ist normalerweise "1.0".

Content-Type

Dieser Header beschreibt den Medientyp des Inhalts der Nachricht. Er besteht aus einem Typ und einem Subtyp, die beide Zeichenketten sind. Wenn sie mit einem Schrägstrich (/) dazwischen verkettet werden, bilden Typ und Subtyp einen MIME-Typ.

Typ: Allgemeine Kategorie des Datentyps (zum Beispiel Video oder Text)

Subtyp: Genaue Art der Daten, die der MIME-Typ darstellt.

Bei MIME-Typen wird die Groß- und Kleinschreibung nicht berücksichtigt. Ein optionaler Parameter kann dem MIME-Typ hinzugefügt werden, um zusätzliche Details zu liefern. Wenn der Parameter „charset“ lautet, gibt er den Zeichensatz an, der für die Datenzeichen verwendet wird. Wenn dieser Parameter nicht angegeben wird, verwendet MIME den Standard-ASCII-Zeichensatz.

Durch die Verwendung des Typs „multipart“ ermöglicht MIME die Anordnung von Teilen in einer Baumstruktur zur Unterstützung von E-Mail-Nachrichten:

  • einfache Textnachrichten
  • Text plus Anhänge
  • Antworten mit angehängter Originalnachricht
  • mehrere Alternativen in HTML
  • Bilder, Audio und Video
  • Anwendungen

Content-Disposition

Diese Kopfzeile gibt die Art der Darstellung von E-Mail-Nachrichten an. Die Disposition kann sein:

Inline: Wird automatisch angezeigt, wenn die Nachricht angezeigt wird

Attachment: Wird nicht automatisch angezeigt, sondern erfordert eine Benutzeraktion (zum Beispiel Herunterladen)

RFC 2183 spezifiziert den Content-Disposition-Header.

Content-Transfer-Encoding

Dieser Header zeigt an, ob ein Binär-zu-Text-Kodierungsschema zusätzlich zu der im Content-Type-Header angegebenen ursprünglichen Kodierung verwendet wurde.

Diese Definition wurde zuletzt im Dezember 2022 aktualisiert

Erfahren Sie mehr über Collaboration-Software