今回は忘備録。
PHP で日本語のメールを送るときは mb_send_mail() を使えば文字コードのコンバートなど考えなくて大丈夫、というところに結構な落とし穴もあって…
4番目以降の引数でヘッダーなどがいろいろ設定できるけど、この部分は自分で文字コード変換をしないといけない。
"From: 島村製作所 <info@shimamuraworks.com>" とかを書きたいとき、これをこのまま第4引数に渡すと文字化けが発生。『島村製作所』の部分を変換する必要がある。
$aaa = mb_convert_encoding("島村製作所", "ISO-2022-JP", "EUC-JP");
$bbb = mb_encode_mimeheader($aaa, "ISO-2022-JP", "B");
$headers = "From: $bbb <info@shimamuraworks.com>";
mb_send_mail($to, $title, $body, $headers);
こんな感じ。
0 件のコメント:
コメントを投稿