どこを調べてもPHPでメールを送るのは簡単だ。と、ドヤ顔でこんなソースを載せている。それは解ったんだけど、mb_send_mailが使えないんだよ。とブツブツ言いながら調べてphp.iniを直したりなんやらで30分くらいハマッた。
<?php
// 送信先、件名、本文を変数に格納
$mailto = "hoge@gmail.com";
$subject = "PHPでメール送るよ";
$content = "送れたかな";
// 2.差出人を日本語表示
$mailfrom="From:hoge@gmail.com";
// 1.言語、文字コードを指定
mb_language("Ja");
mb_internal_encoding("UTF-8");
// 3.上記(送信先、件名、本文、差出人)を日本語でメール送信実行
mb_send_mail($mailto, $subject, $content, $mailfrom);
?>
結論は、php.iniでsendmail_path = というのがあるので、そこにパスを加えてやる。
sendmail_path = c:\xampp\sendmail\sendmail.exe
プログラムの指定だ。そりゃこれが無いと動くわけない。
あと、xamppフォルダ直下にsendmailフォルダがあり、その中にsendmail.iniというのがあるので、その設定を直す。
smtp_server = xxx.xxx.xxx.xxx smtp_port = 587 auth_username = hoge@gmail.com auth_password = hogehoge
後はXAMPPのコントロールパネルからサーバを再起動。再起動しないとphp.iniの設定が反映しない。
これで一番上のメール送信プログラムを実行すればメールが送られる。


コメント