MIME Standard (Multipurpose Internet Mail Extensions)

November 2016

Einführung zu MIME

MIME (Multipurpose Internet Mail Extensions) ist ein Standard, der 1991 von den Laboratorien Bell Communications vorgeschlagen wurde, um die begrenzten Möglichkeiten von E-Mails auszuweiten, und vor allem zu ermöglichen, Dateien darin einzufügen (Bilder, Ton, Text,...). Er wurde erstmals von den RFC 1341 und 1342 von Juni 1992 festgelegt.

MiME benutzt Header, um den Typ des Mailinhalts und die verwendete Codierung zu beschreiben.

MIME erweitert e-mails um die folgenden Funktionalitäten :

  • Möglichkeit, mehrere Objekte (Anhänge) in eine Nachricht einzufügen ;
  • Unbegrenzte Länge der Nachricht ;
  • Die Verwendung von anderen Zeichensätzen (Alphabeten) als den ASCII Code ;
  • Die Verwendung von rich text (Formatierung der Nachrichten, Schriftarten, Farben, etc.) ;
  • Binäre Anhänge (ausführbare Dateien, Bilder, Audio- oder Videodateien, etc.), die auch aus mehreren Teilen bestehen können ;

MIME verwendet spezielle Header-Anweisungen, um das im Body verwendete Format zu beschreiben, damit der Mail-Client die Nachricht richtig interpretieren kann :

  • MIME-Version: die Version des in der Nachricht verwendeten MIME Standards. Zurzeit gibt es nur die Version 1.0.
  • Content-type : Beschreibt den Typ und Untertyp der Dateien. Er kann eine « charset » Einstellung haben, die durch einen Strichpunkt getrennt ist und den verwendeten Zeichensatz angibt.
  • Content-Transfer-Encoding : Gibt an, welche Codierung im Body der Nachricht verwendet wird.
  • Content-ID : Ist eine einzigartige Kennung eines Teiles der Nachricht.
  • Content-Description : Enthält zusätzliche Informationen über den Inhalt der Nachricht.
  • Content-Disposition : Gibt die Eigenschaften des Anhangs an, vor allem den Namen, welcher der Datei über das Attribut filename zugeteilt wird.

Wichtigste MIME - Typen

MIME-Typen, die im Header Content-Type, vorkommen, werden verwendet, um Dokumente im Anhang einer Mail zu beschreiben. Ein MIME-Typ ist folgendermaßen aufgebaut :

Content-type: erster_mime_typ/mime_unter_typ
Einf GIF-Bild hat dann zum Beispiel den folgenden MIME-Typ :
Content-type: image/gif

Die wichtigsten Datentypen, die manchmal auch « diskrete Datentypen » genannt werden, sind die folgenden :

  • text: lesbare Textdaten. text/rfc822 [RFC822] ; text/plain [RFC2646] ; text/html [RFC2854] .
  • image: binäre Dateien, die digitale Bilder darstellen image/jpeg ; image/gif ; image/png.
  • audio: digitale Tondateien audio/basic ; audio/wav
  • video : Videodateien : video/mpeg
  • application : andere binäre daten. application/octet-stream ; application/pdf

MIME-Typen werden auch im Web verwendet, zur Beschreibung von Dokumenten, die über das HTTP Protokoll übertragen werden. Bei einer Übertragung zwischen einem Webserver und einem Internetbrowser sendet der Webserver zunächst den MIME-Typ der Datei, die an den Browser gesendet wird, damit dieser weiß, wie er die Datei anzeigen muss.

Codierungsformate

Um binäre Dateien zu übertragen, schlägt MIME fünf Codierungsformate vor, die im Header verwendet werden können Transfer-encoding :

  • 7bit : Textformat, auf 7 Bits codiert (für nicht akzentuierte Nachrichten) ;
  • 8bit :Textformat 8 Bits  ;
  • quoted-printable : Format Quoted-Printable, empfehlohlen bei Nachrichten, die ein Alphabet verwenden, das auf mehr als 7 Bits codiert ist (zum Beispiel mit Accents) ;
  • base64 : Format Base 64, empfohlen für den Versand von Binärdateien im Anhang ;
  • binary : Binärformat, nicht empfohlen.

MIME, ist sehr flexibel und kann auch mit fremden Codierungsformaten verwendet werden, wie zum Beispiel :

Codierung von Headern

Benutzung der Kopfzeile Transfer-encoding bestimmt ein Verschlüsselungsformat für das Textfeld, löst aber nicht das Problem der Verschlüsselung der Kopfzeilen selber (z.B. bei der Betreffzeile).

Um Header in einem Alphabet mit mehr als 7 Bits codieren zu können und so zum Beispiel Accents in der Betreffzeile zu erlauben, schlägt der MIME Standard das folgende Format vor :

=?charset?codierung?ergebnis?=
  • charset steht für den verwendeten Zeichensatz,
  • codierung gibt die gewünschte Codierung mit zwei möglichen Werten an :
    • Q für quoted-printable
    • B für base64
  • ergebnis: nach der gewählten Methode codierter Text.
Es folgt ein Beispiel in Quoted-Printable Codierung mit « Comment ça marche ? » als Betreff der Nachricht :
Subject: Comment =?ISO-8859-1?Q?=E7a_marche_=3F?=

Zusammengesetzte Nachrichten

Durch den MIME-Typ « multipart » ermöglicht der MIME Standard das Erstellen zusammengesetzter Nachrichten, das sind Nachrichten mit mehreren Anhängen, die auch verschachtelt sein können.

Zu diesem Zweck kann man mit MIME einen Trenner festlegen, den sogenannten boundary. Das ist ein beliebiger String, der als Attribut im Header Content-type festgelegt wird :

Content-Type: multipart/mixed;
 boundary="------------020005090303070203010601" 
Jeder Trenner grenzt einen Inhalt ab, der mit den Headern Content-Type und Content-Encoding beginnt. Es ist sehr wichtig, dass der Wert dieses Trenners nicht im Inhalt der Nachricht vorkommt.

Es gibt mehrere Arten von Boundaries :

  • multipart/mixed definiert eine Folge mehrerer Elemente
  • multipart/alternative definiert verschiedene Alternativen für eine selbe Nachricht, zum Beispiel eine Nachricht im Text- und HTML-Format. Ist der E-Mail-Client im Stande, die formatierte Nachricht anzuzeigen und entsprechend konfiguriert, zeigt er die HTML Version an, ist er es nicht, wird die Textversion angezeigt.
  • multipart/parallel für Daten, die zeitgleich dargestellt werden (zum Beispiel Ton und Bild).
  • multipart/signed definiert eine digitale Signatur für die Daten der Nachricht
  • multipart/related definiert untereinander verbundene Informationen

Liste der MIME - Typen

Die MIME-Typen werden von der Orgagnisation IANA (Internet Assigned Numbers Authority) standardisiert. Dies ist eine nicht vollständige Liste der geläufigsten MIME-Typen

MIME-Typ Dateityp Zugehöriger Anhang
application/atom+xml Dateien im Format ATOM atom
application/iges CAS Dateien iges
application/javascript Javascript Dateien js
application/dxf AutoCAD Dateien dxf
application/mp4 MPEG4 Dateien mp4
application/iges CAO IGES Austauschformat igs,iges
application/octet-stream Nicht interpretierte binäre Dateien bin
application/msword Dateien im Format Microsoft Word doc
application/pdf Adobe Acrobat Dateien pdf
application/postscript PostScript Dateien ai,eps,ps
application/rtf Rich Text Format rtf
application/sgml SGML Dateien sgml
application/vnd.ms-excel Tabellendateien im Format Microsoft Excel xls
application/vnd.ms-powerpoint Vortragsfolien-Dateien in Format Microsoft Powerpoint ppt
application/xml XML Dateien xml
application/x-tar komprimierte tar Dateien tar
application/zip komprimierte ZIP Dateien man
audio/basic einfache Audiodateien au,snd
audio/mpeg MPEG Audio Dateien mpg,mp3
audio/mp4 MPEG-4 Audio Dateien mp4
audio/x-aiff AIFF Audio Dateien aif,aiff,aifc
audio/x-wav Wave Audio Dateien wav
image/gif gif Bilder man
image/jpeg JPEG Bilder jpg,jpeg,jpe
image/png PNG Bilder png
image/tiff Tiff Bilder tiff,tif
image/x-portable-bitmap Bitmap PBM Dateien pbm
image/x-portable-graymap Graymap PBM Dateien pgm
image/x-portable-pixmap Pixmap PBM Dateien ppm
multipart/x-zip zip Archivdateien zip
multipart/x-gzip GNU zip Archivdateien gz,gzip
text/css Stylesheet css
text/csv Textdateien mit Komma-Trennung csv
text/html HTML Dateien htm,html
text/plain Textdateien ohne Formatierung txt,g,h,c,cc,hh,m,f90
text/richtext Rich Text Dateien rtx
text/rtf Textdateien im Rich Text Format rtf
text/tab-separated-value Tabulator-getrennte Textdateien tsv
text/xml XML Dateien xml
video/h264 H.264 Videos h264
video/dv Videos im Format DV dv
video/mpeg MPEG Videos mpeg,mpg,mpe
video/quicktime QuickTime Videos qt,mov
video/msvideo Microsoft Windows Videos avi

Weitere Informationen


Lesen Sie auch :


MIME (Multipurpose Internet Mail Extensions)
MIME (Multipurpose Internet Mail Extensions)
MIME (Extensiones Multipropósito de Correo Internet)
MIME (Extensiones Multipropósito de Correo Internet)
Standard MIME (Multipurpose Internet Mail Extensions)
Standard MIME (Multipurpose Internet Mail Extensions)
Standard MIME (Multipurpose Internet Mail Extensions)
Standard MIME (Multipurpose Internet Mail Extensions)
Padrão MIME (Multipurpose Internet Mail Extensions)
Padrão MIME (Multipurpose Internet Mail Extensions)
Das Dokument mit dem Titel « MIME Standard (Multipurpose Internet Mail Extensions) » aus CCM (de.ccm.net) wird zur Verfügung gestellt unter den Bedingungen der Creative Commons Lizenz. Sie dürfen das Dokument verwenden, verändern sowie Vervielfältigungen dieser Seite erstellen, unter den Bedingungen, die in der vorgenannten Lizenz erwähnt sind und unter der gleichzeitigen Bedingung, dass Sie im Rahmen Ihrer Verwendung, Veränderung oder Vervielfältigung nach außen hin klar und deutlich auf den Urheber (= de.ccm.net) des Dokuments hinweisen.