トップへ(mam-mam.net/)

PHPのmb_send_mailで日本語メール(JIS又はUTF-8)を送信

検索:

PHPで文字コードISO-2022-JPやUTF-8の日本語メールを送信する

mb_send_mail関数を使用すると日本語メールを送信できますがデフォルトでISO-2022-JP(JIS)で送られるのではないでしょうか。
mb_language関数で設定すると文字コードUTF-8で送信できます。

文字コードUTF-8で日本語メールを送信する

以下ソースコードでは文字コード「UTF-8」でBase64エンコードされて日本語メールが送信されます

<?php
  mb_language('uni');
  $to  = "to@hoge.co.jp";  //送り先
  $sub = "メール件名";
  $body = "メール本文\r\n本文2行目\r\n本文3行目";
  //メールヘッダーの設定
  $hd = "From: from@hoge.co.jp\r\n".  //Fromヘッダーは必ず必要
        "Cc: cc<cc@hoge.co.jp>\r\n".
        "Bcc: bcc<bcc@hoge.co.jp>\r\n".
        "Reply-To: from@hoge.co.jp\r\n".
        "X-Mailer: PHP/" . phpversion();
  mb_send_mail($to, $sub, $body, $hd);
?>

文字コードISO-2022-JP(JIS)で日本語メールを送信する

以下ソースコードでは文字コード「ISO-2022-JP(JIS)」で日本語メールが送信されます

<?php
  mb_language('Japanese');
  $to  = "to@hoge.co.jp";  //送り先
  $sub = "メール件名";
  $body = "メール本文\r\n本文2行目\r\n本文3行目";
  //メールヘッダーの設定
  $hd = "From: from@hoge.co.jp\r\n".  //Fromヘッダーは必ず必要
        "Cc: cc<cc@hoge.co.jp>\r\n".
        "Bcc: bcc<bcc@hoge.co.jp>\r\n".
        "Reply-To: from@hoge.co.jp\r\n".
        "X-Mailer: PHP/" . phpversion();
  mb_send_mail($to, $sub, $body, $hd);
?>