マルチバイトでメールをサーバから送信する場合は、
「mb_send_mail(送信先,件名,内容,差出人);」
関数を使用する。
エンコードは、大抵の場合、「iso-2022」で文字化けしないはず。
サンプルは、別ファイルのフォームから、「GET」で変数が送信された場合の処理。
<?php
//送信先メールアドレス
$to="xxxxx@ayabin.jp";
//差出人(架空のもので可)
$from="ppppp@ayabin.jp";
//件名(要エンコード)
$subject=mb_convert_encoding("【予約メール】","iso-2022-jp","auto");
//予約内容
$cont="【ボジョレーヌーボー予約】\n\n";
//お客様情報
$name=$_GET['name'];
$kana=$_GET['kana'];
$shop=$_GET['shop'];
$email=$_GET['email'];
$tel=$_GET['tel'];
mb_language("japanese");
mb_internal_encoding("EUC-JP");//内部エンコーディング指定。不要かもしれない
/*お客様情報*/
$cont.="\nお名前:".$name;
$cont.="\nよみがな:".$kana;
$cont.="\nお引渡し店舗:".$shop;
$cont.="\nメールアドレス".$email;
$cont.="\nご連絡先:".$tel;
//内容をまとめてエンコード
$body=mb_convert_encoding($cont,"iso-2022-jp","auto");
//マルチバイト用メール送信関数
mb_send_mail($to,$subject,$body,"From:".$from);
header('Location: ../thanks.php');
?>
コメントする