単に、mb_send_mail()
bool mb_send_mail ( string $to , string $subject , string $message [, string $additional_headers = NULL [, string $additional_parameter = NULL ]] )
PHP: mb_send_mail - Manual![]()
で送ったメールの宛先を、
To: 某氏 <foo@bar.com>
みたいな感じにしたかっただけなのだけれど、どうやっても送れない。
ちなみに From: 等はきちんと日本語で遅れているので、エンコードの問題でもないと思われる。
というか、$to に
FOO <foo@bar.com>
とか
<foo@bar.com>
みたいに、日本語を含めていなくても、だめ。
もちろん、単に "foo@bar.com" なら送信可能。
さんざん悩んだ挙句、さくらのレンタルサーバで試してみたら、あっさり送信できた。
php -r "mb_language('Japanese'); mb_internal_encoding('utf-8'); mb_send_mail(mb_encode_mimeheader('某氏','iso-2022-jp' ) . ' <foo@bar.com>', 'TEST', 'TEST', 'From: ' . mb_encode_mimeheader('誰某', 'iso-2022-jp') . ' <hoge@bar.com>');"
でちゃんと、
From: 誰某 <hoge@bar.com> To: 某氏 <foo@bar.com>
みたいな感じに受信されている。
ということは……バージョン違いによる、徒労ということ?
PHPは、「お名前.com」は Version 5.2.12、「さくら」は Version 5.3.21。
…もう寝る(泣)。