[GENERIC] Zend_Translate:
[zend.git] / documentation / manual / ja / module_specs / Zend_Mail-Encoding.xml
blobe1d5151ba7c270651fb5b023411cc532b8d2f371
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Reviewed: no -->
3 <!-- EN-Revision: 20819 -->
4 <sect1 id="zend.mail.encoding">
5     <title>エンコーディング</title>
7     <para>
8         テキストおよび HTML メッセージの本文は、デフォルトでは
9         quotedprintable 方式でエンコードされます。
10         メッセージヘッダーもbase64を <methodname>setHeaderEncoding()</methodname> で指定しなければ
11         quotedprintable 方式でエンコードされます。
12         もしあなたがラテン文字ベースではない言語を使う場合、 base64 がより適切でしょう。
13         その他の添付ファイルは、デフォルトでは
14         base64 でエンコードされますが、<methodname>addAttachment()</methodname> のコール時に変更したり
15         <acronym>MIME</acronym> パートオブジェクトに後から代入して変更することもできます。
16         7Bit エンコーディングおよび 8Bit エンコーディングは、
17         現在はバイナリデータにのみ適用可能です。
18     </para>
20     <para>
21         ヘッダ、特に subject のエンコーディングは、油断のならない話題です。
22         <classname>Zend_Mime</classname> は現在、quoted printable ヘッダを
23         RFC-2045 にもとづいてエンコードするアルゴリズムを自前で実装しています。
24         <code>iconv_mime_encode</code> および <code>mb_encode_mimeheader</code>
25         には、特定の文字セットにおける問題があるからです。
26         このアルゴリズムではヘッダを空白文字でのみ区切るので、
27         推奨される長さである 76 文字を超えるヘッダができてしまう可能性があります。
28         そんな場合は、次の例と同様にヘッダのエンコード方式を
29         BASE64 に変更しましょう。
30     </para>
32     <programlisting language="php"><![CDATA[
33 // デフォルトは Zend_Mime::ENCODING_QUOTEDPRINTABLE です
34 $mail = new Zend_Mail('KOI8-R');
36 // KOI8-R で表現されるロシア語はラテン文字ベースの言語と
37 // 大きく異なるので、Base64 エンコーディングに変更します
38 $mail->setHeaderEncoding(Zend_Mime::ENCODING_BASE64);
39 ]]></programlisting>
41     <para>
42         <classname>Zend_Mail_Transport_Smtp</classname> は、行頭がドット 1 文字あるいはドット
43         2 文字の場合にその行をエンコードします。これにより、
44         SMTP プロトコルに違反するメールを作成しないようにします。
45     </para>
46 </sect1>
47 <!--
48 vim:se ts=4 sw=4 et:
49 -->