| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.mail.encoding">
- <title>Kodierung</title>
- <para>
- Text und <acronym>HTML</acronym> Nachrichten werden standardmäßig mit dem "quotedprintable"
- Mechanismus kodiert. Nachrichten Header werden auch mit dem quotedprintable Mechanismus
- kodiert wenn in <methodname>setHeaderEncoding()</methodname> nicht base64 spezifiziert
- wurde. Wenn man eine Sprache verwendet die nicht auf römischen Buchstaben basiert, ist
- base64 besser geeignet. Alle anderen Anhänge werden über "base64" kodiert, wenn an den
- <acronym>MIME</acronym> Teil keine andere Kodierung über den
- <methodname>addAttachment()</methodname> Aufruf übergeben oder später zugewiesen worden ist.
- 7Bit und 8Bit Kodierung können derzeit nur auf binärische Inhalte angewandt werden.
- </para>
- <para>
- Die Kodierung des Headers, speziell die Kodierung des Subjects ist ein trickreiches Thema.
- <classname>Zend_Mime</classname> implementiert aktuell seinen eigenen Algorithmus um
- quotedprintable Header nach RFC-2045 zu kodieren. Der Hintergrund ist das
- Problem von <methodname>iconv_mime_encode()</methodname> und
- <methodname>mb_encode_mimeheader()</methodname> in Bezug zu bestimmten Zeichensätzen. Dieser
- Algorithmus unterbricht den Header nur bei Leerzeichen, das zu Headern führen könnte welche
- die erwartete Länge von 76 Zeichen weit überschreiten. Für diesen Fall wird vorgeschlagen
- zur BASE64 Header Kodierung zu wechseln, wie im folgenden Beispiel beschrieben:
- </para>
- <programlisting language="php"><![CDATA[
- // Standardmäßig Zend_Mime::ENCODING_QUOTEDPRINTABLE
- $mail = new Zend_Mail('KOI8-R');
- // Auf Base64 Kodierung zurücksetzen da russisch ausgedrückt in KOI8-R zu
- // Römisch basierten Buchstaben sehr unterschiedlich ist
- $mail->setHeaderEncoding(Zend_Mime::ENCODING_BASE64);
- ]]></programlisting>
- <para>
- <classname>Zend_Mail_Transport_Smtp</classname> kodiert die Zeilen beginnend mit einem oder
- zwei Punkten, so dass die Mail das SMTP Protokoll nicht missachtet.
- </para>
- </sect1>
|