福岡 web・ホームページ制作 Eight(エイト)

【PHP】メール(mb_send_mail)関数を使って文字化け回避してメール送信するコード公開!

php_eyecatch
Category:PHP

mail 関数でメールを送信すると、日本語が文字化けしてしまう可能性があるので、日本語に対応した mb_send_mail 関数を使用します。
ポイントはmb_language関数とmb_internal_encoding関数を先に宣言してFromの文字化けを回避するとこです。

mb_language("ja");
mb_internal_encoding("UTF-8");

$mailname = "Web制作Eight";
$mailfrom = "mailfrom@mail.com";
$mailto   = "mailto@mail.com";
$subject  = "メール送信";
$header   = "MIME-Version: 1.0\n"
			. "Content-Transfer-Encoding: BASE64\n"
			. "Content-Type: text/plain; charset=UTF-8\n"
			. "Message-Id: <" . md5(uniqid(microtime())) . "@" . $emfConfig["domain"] . ">\n"
			. "From:" .mb_encode_mimeheader($mailname) ."<" . $mailfrom . ">\n";

$message  = "無事に送信できたよ。";

mb_convert_encoding($message,"SJIS","UTF-8");

if(mb_send_mail($mailto,$subject,$message,$header)){
	echo "送信しました";
}else{
	echo "送信できませんでした";
}

参考

PHP: mb_send_mail – Manual

Related Article

Comments

Page Top