| 1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.mail.encoding">
- <title>Encodage</title>
- <para>
- Par défaut, le corps des messages textes et HTML est encodé via le mécanisme
- "quoted-printable". Les en-têtes du message sont aussi encodés avec le mécanisme
- "quoted-printable" si vous ne spécifiez pas base64 avec
- <methodname>setHeaderEncoding()</methodname>. Si vous utilisez une langue qui n'est pas
- sur des lettres de type romaines, la base64 sera plus convenable. Tous les fichiers joints
- sont encodés via base64 si aucun autre encodage n'est spécifié lors de l'appel à
- <methodname>addAttachment()</methodname> ou assigné plus tard à la partie
- <acronym>MIME</acronym> de l'objet. Les encodages 7Bit et 8Bit ne se font pour l'instant
- que sur les données binaires.
- </para>
- <para>
- L'encodage des en-têtes, spécialement l'encodage du sujet, est toujours délicat.
- <classname>Zend_Mime</classname> implémente actuellement son propre algorithme pour encoder
- les en-têtes "quoted-printable" suivant la RFC-2045. Ceci est du à un
- problème des fonctions <methodname>iconv_mime_encode()</methodname> et
- <methodname>mb_encode_mimeheader()</methodname>
- avec certaines tables de caractères. Cet algorithme ne coupe les en-têtes qu'au niveau des
- espaces, ce qui peut entraîner des problèmes quand la longueur excède la longueur de 76
- caractères. Dans ce cas, il est suggéré de basculer en encodage BASE64 pour les en-têtes
- comme décrit dans les exemples suivants :
- </para>
- <programlisting language="php"><![CDATA[
- // Par défaut Zend_Mime::ENCODING_QUOTEDPRINTABLE
- $mail = new Zend_Mail('KOI8-R');
- // Bascule en encodage Base64 parce que le Russe exprimé en KOI8-R est
- // considérablement différent des langues basées sur des lettres romaines
- $mail->setHeaderEncoding(Zend_Mime::ENCODING_BASE64);
- ]]></programlisting>
- <para>
- <classname>Zend_Mail_Transport_Smtp</classname> encode les lignes commençant par un ou
- deux points, ainsi le courriel ne viole pas le protocole SMTP.
- </para>
- </sect1>
|