日本語メールを送信するとなるとちょっと面倒なことや文字コード関連が出てきます。
mbsendmailや外部のモジュールを使えば解決することが多いですが、そういうのが使えない
ある意味「縛り」プレイのあるサーバーでメールを送信しないといけないことがあります。
そんなときに以下のものでサクっと送ることが多いです。
/
* POST受信
*/
$to = $_POST['mail'];
$subject = $_POST['subject'];
$body = $_POST['body'];
$from_email = $_POST['from'];
$from_name = $_POST['from'];
/
* 文字コード及びヘッダー
/
mblanguage("Japanese");
mbinternalencoding("UTF-8");
$headers = "MIME-Version: 1.0 \n" ;
$headers .= "From: " .
"".mbencodemimeheader (mbconvertencoding($fromname,"ISO-2022-JP","AUTO")) ."" .
"<".$fromemail."> \n";
$headers .= "Reply-To: " .
"".mbencodemimeheader (mbconvertencoding($fromname,"ISO-2022-JP","AUTO")) ."" .
"<".$fromemail."> \n";
$headers .= "Content-Type: text/plain;charset=ISO-2022-JP \n";
$body = mbconvertencoding($body, "ISO-2022-JP","AUTO");
$sendmailparams = "-f$fromemail";
mblanguage("ja");
$org = mbinternalencoding();
mbinternalencoding("ISO-2022-JP");
$subject = mbconvertencoding($subject, "ISO-2022-JP","AUTO");
$subject = mbencodemimeheader($subject);
mbinternalencoding($org);
/
* メール送信
*/
mail($to, $subject, $body, $headers);
関連記事