2006/04/22

PHP でメール送信

今回は忘備録。

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 件のコメント: