1つだけ過去を変えられるとしたら?

メール送信関数を作成いたしました。
しかし、メールの送信者を日本語で表示しようとすると、送信エラーになります。
下記がコードになりますが、お気づきの点がありましたら、ご教示をお願いします。
また、「全日空信用カードサービスセンター」を取っ払って、英語のみの表記でしたら、正常に送信できます。※エンコードはSJISです。

//mail
$mail_to = "**@yahoo.com";
$mail_from = "***@yahoo.com";
$subject_register = "お問い合わせ";
$title = "ANA CARD 全日空信用カードサービスセンター ";
$header_listing = "From:".$title;
$headers1 = $header_listing."<".$mail_from.">";
$subject = "=?iso-2022-jp?B?".base64_encode($subject_register)."?=";

・・・・・・・・・ 省略

if (mail($mail_to,$subject,$body,$headers1)) {
message("ありがとうございました。");
}
else {
message("送信エラー");
}

A 回答 (2件)

さきほどは勘違い回答していましたね。

すみません。

$headers1 = "From: =?iso-2022-jp?B?". base64_encode(mb_convert_encoding($title, 'ISO-2022-JP')). "?= <$mail_from>";

でどうでしょうか。
    • good
    • 0
この回答へのお礼

$headers1 = "From: =?iso-2022-jp?B?". base64_encode($title). "?= <$mail_from>";

でいけました。ありがとうございます!!!!!!!!

お礼日時:2006/11/03 13:57

文字コードをJISにしていないのが、エラーの原因ではないでしょうか。


$subject_register = mb_convert_encoding($subject_register, 'ISO-2022-JP');
$subject = "=?iso-2022-jp?B?".base64_encode($subject_register)."?=";
としてもうまくいきませんか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報