MIME (Einführung)
Probleme beim Einsatz von MIME
Arbeitsweise von MIME
Content-Typen
RFC 1521 (MIME)
RFC 822 (Grundlegende Definition von Internet-Mail)
MIME unterstützt sehr viele verschiedene Datentypen.
Die grundlegende Definition von Internet-Mail ist in RFC822 enthalten.
Demnach ist zwar der header einer Mail genau definiert, der Körper
selbst wird jedoch als einfache Ansammlung von 7-Bit-codierten Ascii-Zeichen
angesehen.
MIME erweitert diese Definition durch das Einfügen von 5 neuen
header-Zellen, die den Nachrichtenkörper wie folgt genauer spezifizieren.
Der MIME-header
Die 7 Content-Typen
Beispiele von einfachen MIME-Datentypen
Beispiele von komplexen MIME-Datentypen
Codierung
Mail-Programme müssen den Content-Type-header und Content-Transfer-Encoding-header
interpretieren, um eine Nachricht korrekt zu entschlüsseln, sodann
darzustellen oder weiterzuleiten
Das Format des Nachrichtenkörpers wird auf 3 Ebenen spezifiziert:
Content-Type
|
type ist eine allgemeine Angabe über die Art der
Daten, um zu entscheiden, anwelche Geräte die Daten übergeben
werden müssen.
text-Formate z.B. können direkt auf dem Bildschirm ausgegeben werden. subtype spezifiziert die Daten genauer. Type und Subtype geben zusammen die genaue Art der Daten an. |
||||||
|
gibt an, wie die Daten in 7-Bit-ASCII codiert sind. |
| type/subtype | Schlüsselwort=Wert Schlüsselwort=Wert ... | codierung | Version | ID | Beschreibung |
| text/plain | charset=iso-8859-8 | Quoted-Printable | xx... | xx... | reiner Text... |
Dem Content-Type-header folgt eine Liste von Schlüsselwort=Wert-Paaren.
Im Beispiel wird der Zeichensatz ISO Roman/Hebräisch verwendet. Unterstützt
die Anzeige diesen Zeichensatz, kann das Mail-Programm(nach der Decodierung)
die Nachricht anzeigen, wie es vom Absender gewünscht wird.
zum
Kapitelanfang
Die ersten 5 Typen weisen auf eine einzelne Datendatei im einem einzigen
Format hin.
|
|
Ein direkt lesbarer Text, er sollte so beschaffen sein, daß er direkt am Bildschirm ausgegeben werden kann. |
|
|
Klangdatei |
|
|
unbewegliche Bildformate |
|
|
Filme oder Animationen |
|
|
anwendungsspezifische Dateien, wie etwa Skript-Sprachen |
|
|
Der Behälter für die eingebettete Nachricht. |
|
|
Mehrteilige Nachricht, von der jede in einem eigenen Format sein kann. |
|
|
Reiner Text, ohne Formatierung Der charset-Schlüssel wird zur Angabe eines Zeichensatzes verwendet. |
|
|
8000 Hz-Audiodatei mit einem Kanal im 8-Bit-ISDN-Regel-Format |
|
|
Bilddatei im gif-Format |
|
|
Bilddatei im jpeg-Format |
|
|
Video-Sequenz im MPEG-Format, es kann auch eine zugehörige Tonspur vorhanden sein |
|
|
|
|
|
eine Post-Script-Datei, in der Regel für einen Drucker bestimmt |
| application/mac-binhex40 | Eine mit BinHex-codierte Macintosh-Datei. |
|
|
Mit diesem message-Typ kann eine andere Mail-Nachricht in eine MIME-Nachricht eingebettet werden. Dies ist z.B. beim Weiterleiten einer Email nützlich. |
|
|
gibt an, daß sich der Nachrichtenkörper wo anders befindet. Die weiteren Schlüsselwörter geben dann an, wie der Nachrichtenkörper empfangen werden kann. Etwa über anonymes FTP oder als lokale Datei). |
|
|
Zerteilung von großen Nachrichten in mehrere "Scheiben" (manche
Mail-Systeme haben Schwierigkeiten, große Dateien weiterzuleiten).
3 Schlüsselwörter: id=Wert, id für die verschiedenen Teile der Nachricht number=Wert, Nummer der "Scheibe"(ab 1 aufsteigend) total=Wert Anzahl der Teilnachrichten(nur beim letzten Paket erforderlich) |
|
|
Eine einzelne Nachricht enhält mehrere Teile mit jeweils anderem Format. Jedes Teil verfügt über einen eigenen Content-header. |
|
|
enthält verschiedene Versionen des gleichen Texts, z.B. Formatiert für ein bestimmtes Textformat und als reiner ASCII-Text. |
|
|
Die Dateiinhalte sind zur gleichzeitigen Wiedergabe gedacht, z.B. ein Bild und ein zugehöriger Audiotext. |
| 7bit | 7-Bit-Text, nicht codiert |
| 8bit | 8-Bit-Text, nicht codiert |
| binary | Nicht codierte binäre Daten |
| Quoted-Printable | Die meisten 7-Bit-Zeichen sind nicht kodiert, 8-Bit
Zeichen werden durch: Fluchtzeichen/Hexwert (z.B. =A8) dargestellt, wobei = durch =3D dargestellt wird. |
| Base64 | Base64-Kodierung. Dabei werden nur die Zeichen
a-z, A-Z, 0-9, +, /, benutzt |
Diese Codierung ist der von Uuencode/Uudecode ähnlich, verzichtet jedoch auf Satzzeichen zur Verschlüsselung, da diese oft von Mail-Gateways "verschluckt" werden.