[PHP-users 27637] Re: mb_send_mailにて
SUGIMURA Takashi 杉村 貴士
sugimura @ yasudakei.org
2005年 11月 27日 (日) 16:07:12 JST
杉村です。
> プログラム的に、昔の方法で以下のようにしてました。
>
> 1. スクリプトファイルは S-JIS で書かれている(Win から作業するため)
> 2. 題名に漢字が入っていたら(preg_match("/[\x80-\xA0]/", $Subject))
> "=?iso-2022-jp?B?" . base64_encode( $Subject ). "?=" を行う
> 3. mb_convert_encoding で本文、ヘッダ等を JIS にする
> 4. これを mb_send_mail に渡す
>
> これをしたところ、becky! で受け取った題名は Base64 でした。
> 不思議なので /var/mail の中身をそのまま見たら、なんと、Base64 を
> Base64 した物が入ってました。
>
2. で =?iso-2022-jp?B?...?= の意味はわかりますか。
iso-2022-jp で書かれた文字列を B encoding (= Base64) します
ということなので、先に iso-2022-jp (JIS) に変換してから Base64 しないと
MUA 側で decode したときにわけがわからなくなります。
---
杉村 貴士 <sugimura @ YasudaKei.org>
GnuPG fingerprint: C81B 9835 1C9E BD9B 84BF 9785 0B91 D08B F667 DCED
PHP-users メーリングリストの案内