どこを調べても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の設定が反映しない。
これで一番上のメール送信プログラムを実行すればメールが送られる。
コメント