PHP 4.3

12.2.3 Codierung

Ein weiterer wichtiger Punkt bei der Übermittlung von Mails ist die Codierung der eigentlichen Nachricht. Standardmäßig wird eine 7-Bit-US-ASCII-Codierung benutzt. ASCII ist die Abkürzung für "American Standard Code for Information Interchange" (Amerikanische Standarddarstellung für den Austausch von Informationen). In den sechziger Jahren hat sich dieser Standard bei der Datenübertragung mittels Telex entwickelt. Dabei wird jedem Zeichen ein bestimmter Zahlencode zugeordnet. Mit einer Zahlencodelänge von 7 Bit lassen sich genau 128 (1 Bit –> 2 Zeichen, 2 Bit –> 2*2 = 4, 7 Bit –> 27 = 128) Zeichen darstellen. Dies sind unter anderem alle lateinischen Buchstaben in Groß- und Kleinschreibung, Ziffern, Interpunktionszeichen wie Komma, Punkt und einige Steuerzeichen wie Zeilenumbruch,Tabulator und einige Sonderzeichen. Nicht enthalten sind länderspezifische Zeichen wie deutsche Umlaute. Dazu wurde beispielsweise der 8-Bit-Zeichensatz ISO 8859-1 definiert, mit dem 256 verschiedene Zeichen dargestellt werden können.

Da E-Mails ursprünglich mit 7-Bit-ASCII codiert wurden, war es für den weitergehenden E-Mail-Austausch notwendig, neue Codierungsverfahren festzulegen.

Das MIME-Format (nachzulesen unter RFC 2045, 2046, 2047, 2048 und 2049) hat sich heute als Standard beim E-Mail-Verkehr etabliert. MIME steht für "Multipurpose Internet Mail Extensions" und bietet alles für die moderne Datenübertragung per E-Mail; so lassen sich ebenso Mails im HTML-Format wie binäre Daten (Programme, Bilder, Audiodaten) übertragen. Auch gemischte Formate, sogenannte Multipart-Mails lassen sich realisieren.

Um in PHP MIME-Mails zu erstellen, ist es notwendig, weitere Kopfzeilen an die Mail anzuhängen.
Die beiden wichtigsten sind:

Content-Type:

  typ/subtype

Content-Transfer-Encoding:

  codierungsformat

Beim Content-Type wird der MIME-Typ festgelegt. Üblicherweise sind das:

Content-Type

Beschreibung

text/plain

Normaler Text. Üblicherweise wird noch der verwendete Zeichensatz mit angegeben, wie US-ASCII oder iso-8859-1.

text/html

HTML (wie eine Web-Seite formatierter Text)

image/jpeg

JPEG-Bild

multipart/mixed

Die Mail kann aus mehreren Teilen bestehen, wie Text, Bilder und Programmen

Content-Transfer-Encoding gibt das Codierungsformat der Nachricht an. Die ersten SMTP-Server übertrugen die Nachrichten nur im 7-Bit-Format, neuere Server können dagegen eine 8-Bit-Übertragung verwenden. Um die Korrektheit einer Übermittlung durch einen älteren Server zu gewährleisten, wird hier ein Codierungsformat angegeben, mit dem die Daten in das 7-Bit-Format umgewandelt werden. Es sind fünf verschiedene Formate definiert:

Content-Transfer-Enconding

Beschreibung

7bit

Normaler 7-Bit-ASCII-Text (7 Bit —> damit können 128 verschiedene Zeichen dargestellt werden)

8bit

8-Bit-Format (8 Bit —> 256 verschiedene Zeichen)

quoted-printable

Normaler Text, Sonderzeichen werden speziell codiert

base64

Daten sind nach BASE64-Verfahren codiert

binary

Binäre Daten

Aufgrund des Umfangs und der Komplexität der MIME-Typen wird hier nicht näher auf die Einzelheiten der unterschiedlichen Formate eingegangen. Es sollen aber übliche Kombinationen angegeben werden:

Content-Type: text/plain; charset=US-ASCII
Content-Transfer-Encoding: 7bit

reine Text-Mail, ASCII-Zeichensatz,
mit 7-bit codiert, entspricht einer "Ur"-Mail.

Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable

reine Text-Mail, ISO-Zeichensatz,
codiert mit quoted-printable.

Content-Type: text/html; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

HTML-Mail, ebenfalls ISO-Zeichensatz,
liegt im 8-Bit Format vor.

Content-Type: image/jpeg;
Content-Transfer-Encoding: base64

Mail mit JPEG-Bild, nach dem BASE64
Verfahren codiert.

Weitere Informationen zu Zeichensätzen finden Sie in der TEIA-Qualifikationseinheit "Konzepte Content-Repräsentation & Markup-Sprachen"; weitere Informationen zu Internet-Mail und zu MIME finden Sie in der Qualifikationseinheit "Konzepte Internet-Technik".

Kommentare (0)

Ihr Kommentar

Name