Zend_Mail-Encoding.xml 1.9 KB

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