2
0

Zend_Mail-Encoding.xml 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 17407 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.mail.encoding">
  5. <title>Encodage</title>
  6. <para>
  7. Par défaut, le corps des messages textes et HTML est encodé via le mécanisme
  8. "quoted-printable". Les en-têtes du message sont aussi encodés avec le mécanisme
  9. "quoted-printable" si vous ne spécifiez pas base64 avec
  10. <methodname>setHeaderEncoding()</methodname>.Tous les fichiers joints sont encodés via base64 si aucun
  11. autre encodage n'est spécifié lors de l'appel à <methodname>addAttachment()</methodname> ou assigné plus
  12. tard à la partie <acronym>MIME</acronym> de l'objet. Les encodages 7Bit et 8Bit ne se font pour l'instant que
  13. sur les données binaires.
  14. </para>
  15. <para>
  16. L'encodage des en-têtes, spécialement l'encodage du sujet, est toujours délicat.
  17. <classname>Zend_Mime</classname> implémente actuellement son propre algorithme pour encoder
  18. les en-têtes "quoted-printable" suivant la RFC-2045. Ceci est du à un
  19. problème des fonctions <code>iconv_mime_encode</code> et <code>mb_encode_mimeheader</code>
  20. avec certaines tables de caractères. Cet algorithme ne coupe les en-têtes qu'au niveau des
  21. espaces, ce qui peut entraîner des problèmes quand la longueur excède la longueur de 76
  22. caractères. Dans ce cas, il est suggéré de basculer en encodage BASE64 pour les en-têtes
  23. comme décrit dans les exemples suivants&#160;:
  24. </para>
  25. <programlisting language="php"><![CDATA[
  26. // Par défaut Zend_Mime::ENCODING_QUOTEDPRINTABLE
  27. $mail = new Zend_Mail('UTF-8');
  28. // Bascule en encodage Base64
  29. $mail->setHeaderEncoding(Zend_Mime::ENCODING_BASE64);
  30. ]]></programlisting>
  31. <para>
  32. <classname>Zend_Mail_Transport_Smtp</classname> encode les lignes commençant par un ou
  33. deux points, ainsi l'émail ne viole pas le protocole SMTP.
  34. </para>
  35. </sect1>