|
|
@@ -1,5 +1,5 @@
|
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
|
-<!-- EN-Revision: 15103 -->
|
|
|
+<!-- EN-Revision: 16033 -->
|
|
|
<!-- Reviewed: no -->
|
|
|
<sect1 id="zend.mail.encoding">
|
|
|
<title>Encodage</title>
|
|
|
@@ -14,6 +14,25 @@
|
|
|
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 <acronym>RFC</acronym>-2045. Ceci est du à un
|
|
|
+ problème des fonctions <code>iconv_mime_encode</code> et <code>mb_encode_mimeheader</code>
|
|
|
+ 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('UTF-8');
|
|
|
+
|
|
|
+// Bascule en encodage Base64
|
|
|
+$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 l'émail ne viole pas le protocole SMTP.
|