PHPのmb_send_mail()で質問です。

以下のソースでメールを送信した所、
From欄は正しく表示されるのですが件名が
「=?ISO-2022-JP?B?GyRCJEkkJiRKJE4lMyUiJWkbKEI=?=」
のようになって文字化けしてしまいます。

mb_language("UTF-8");
mb_internal_encoding("UTF-8");
$from = ("From:").(mb_encode_mimeheader("猫大好きクラブ",'ISO-2022-JP')).("<sample@neko.com>");
$title= mb_encode_mimeheader("どうなのコアラ",'ISO-2022-JP');
$email = "user@neko.com";
$body = "ねこだいすき";
mb_send_mail($email,$title,$body,$from);

Fromの所と同じ処理をしているのになぜ件名だけが文字化けしてしまうのでしょうか。
また、どう直せば正しく件名が表示されるのでしょうか。
ご助言お願いいたします。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2009/08/31 15:55:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:pahoo No.1

回答回数5960ベストアンサー獲得回数633

ポイント60pt

関数 mb_send_mail の subject に mb_encode_mimeheader を適用する必要はありません。内部エンコードされたテキストを渡すだけで十分です(必要に応じて関数 mb_convert_encoding を使って内部エンコード形式に変換すること)。

具体的なスクリプトは拙作「PHPでメール送信」をご覧ください。

id:mizi

解決しました!

ささいすぎるミスでお恥ずかしいです。

どうもありがとうございました。

2009/08/24 17:04:06

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません