[MANUAL] English:
[zend.git] / documentation / manual / ru / module_specs / Zend_Mail-Encoding.xml
blob828c3a527ca6105f86ecd71df9c6e4c5854daa04
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Reviewed: no -->
3 <sect1 id="zend.mail.encoding">
4     <title>Кодировка</title>
5     <para>
6         Тела сообщений в текстовом и HTML форматах по умолчанию кодируются
7         по алгоритму quoted-printable, если только вы не указали
8         base64 через метод <methodname>setHeaderEncoding()</methodname>.
9         Все другие вложения кодируются
10         по алгоритму base64, если только не была указана другая кодировка при
11         вызове метода <methodname>addAttachment()</methodname> и она не была
12         установлена позднее для объекта части <acronym>MIME</acronym>.
13         Кодировки 7Bit и 8Bit в настоящее время используются только для
14         бинарных данных.
15     </para>
17     <para>
18         Кодирование заголовков, особенно темы (subject) сообщения - непростой
19         вопрос. <classname>Zend_Mime</classname> в настоящее время реализует
20         собственный алгоритм для кодирования quoted-printable сообщений в
21         соответствии с RFC-2045. Это вызвано тем, что
22         <code>iconv_mime_encode</code> и <code>mb_encode_mimeheader</code>
23         испытывают проблемы с кодированием определенных символов.
24         Этот алгоритм только разбивает заголовки пробелами, это приводит к
25         тому, что заголовки могут значительно превышать предлагаемую длину в
26         76 символов. По этой причине рекомендуется переключаться на кодирование
27         заголовков по алгоритму base64, как показано в следующем примере:
28     </para>
30     <programlisting language="php"><![CDATA[
31 // По умолчанию используется Zend_Mime::ENCODING_QUOTEDPRINTABLE
32 $mail = new Zend_Mail('UTF-8');
34 // Переключение на base64
35 $mail->setHeaderEncoding(Zend_Mime::ENCODING_BASE64);
36 ]]></programlisting>
38     <para>
39         <classname>Zend_Mail_Transport_Smtp</classname> кодирует строки,
40         начинающиеся с одной или двух точек, поэтому сообщение не будет нарушать
41         протокол SMTP.
42     </para>
43 </sect1>
44 <!--
45 vim:se ts=4 sw=4 et:
46 -->