Zend_Mail-Encoding.xml 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 17407 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.mail.encoding">
  5. <title>Kodierung</title>
  6. <para>
  7. Text und HTML Nachrichten werden standardmäßig mit dem "quotedprintable" Mechanismus
  8. kodiert. Nachrichten Header werden auch mit dem quotedprintable Mechanismus kodiert wenn in
  9. <methodname>setHeaderEncoding()</methodname> nicht base64 spezifiziert wurde. Alle andere
  10. Anhänge werden über "base64" kodiert, wenn an den <acronym>MIME</acronym> Teil keine andere
  11. Kodierung über den <methodname>addAttachment()</methodname> Aufruf übergeben oder später
  12. zugewiesen worden ist. 7Bit und 8Bit Kodierung können derzeit nur auf binärische Inhalte
  13. angewandt werden.
  14. </para>
  15. <para>
  16. Die Kodierung des Headers, speziell die Kodierung des Subjects ist ein trickreiches Thema.
  17. <classname>Zend_Mime</classname> implementiert aktuell seinen eigenen Algorithmus um
  18. quotedprintable Header nach RFC-2045 zu kodieren. Der Hintergrund ist das
  19. Problem von <code>iconv_mime_encode</code> und <code>mb_encode_mimeheader</code> in Bezug zu
  20. bestimmten Zeichensätzen. Dieser Algorithmus unterbricht den Header nur bei Leerzeichen, das
  21. zu Headern führen könnte welche die erwartete Länge von 76 Zeichen weit überschreiten. Für
  22. diesen Fall wird vorgeschlagen zur BASE64 Header Kodierung zu welchseln, wie es im folgenden
  23. Beispiel beschrieben wird:
  24. </para>
  25. <programlisting language="php"><![CDATA[
  26. // Standardmäßig Zend_Mime::ENCODING_QUOTEDPRINTABLE
  27. $mail = new Zend_Mail('UTF-8');
  28. // Auf Base64 Kodierung zurücksetzen
  29. $mail->setHeaderEncoding(Zend_Mime::ENCODING_BASE64);
  30. ]]></programlisting>
  31. <para>
  32. <classname>Zend_Mail_Transport_Smtp</classname> kodiert die Zeilen beginnend mit einem oder
  33. zwei Punkten, so dass die Mail das SMTP Protokoll nicht missachtet.
  34. </para>
  35. </sect1>
  36. <!--
  37. vim:se ts=4 sw=4 et:
  38. -->