文字セット

Zend_Mail はメールの現在の文字セットをチェックしません。 Zend_Mail のインスタンスを作成する際に、メールの文字セットを指定します。 デフォルトは iso-8859-1 です。 メールに追加する内容は、すべて正しい文字セットでエンコードされている必要があります。 新しいメールパートを作成する際には、 個々のパートについて異なる文字セットを指定できます。

Note: テキスト形式限定
文字セットが適用されるのは、プレーンテキストのメッセージについてのみです。

Example #1 CJK 言語での利用

下記の例は日本語での Zend_Mail の使い方です。 これは CJK (別名 CJKV ) 言語のひとつです。 もしあなたが中国語を使うなら、 ISO-2022-JP の代わりに HZ-GB-2312 を使うでしょう。

  1. //PHP スクリプト上で文字列の文字エンコードが UTF-8 と仮定します。
  2. function myConvert($string) {
  3.     return mb_convert_encoding($string, 'ISO-2022-JP', 'UTF-8');
  4. }
  5.  
  6. $mail = new Zend_Mail('ISO-2022-JP');
  7. //この場合、 ISO-2022-JP は MSB を使わないので、
  8. // ENCODING_7BIT を使えます。
  9. $mail->setBodyText(
  10.     myConvert('This is the text of the mail.'),
  11.     null,
  12.     Zend_Mime::ENCODING_7BIT
  13. );
  14. $mail->setHeaderEncoding(Zend_Mime::ENCODING_BASE64);
  15. $mail->setFrom('somebody@example.com', myConvert('Some Sender'));
  16. $mail->addTo('somebody_else@example.com', myConvert('Some Recipient'));
  17. $mail->setSubject(myConvert('TestSubject'));
  18. $mail->send();
blog comments powered by Disqus