XamppのsendmailはWindows8で動かない

以前は自宅サーバーを構築して、Webサーバーやメールサーバーなどを運用していたが、メンテナンスが煩わしくなり、2013年に「さくらレンタルサーバー」に切り替えた。PHPも、SQLサーバーも動くし、コンテンツをサーバーにアップするだけなので簡単で非常に助かっている。

PHPプログラムは、自宅のPCにXAMPP1.8.2をインストールして、テキストエディタで書いており、「問合せ」や「WEBアンケート」など、その結果をメールで送信、情報をCSVファイルに書込み集計などに使っている。

自宅PC(Windows8)にはメールサーバーを構築していないので、ローカル環境でメール送信は出来ないが、gmailを利用すれば、メールサーバーなしでもメール送信が出来ることを知り、さっそく試みた。2つのiniファイルの変更を行うのだが、変更分のみを記述すると次のようになる。

php.ini sendmail_path = “\”C:\xampp\sendmail\sendmail.exe\” -t” 有効にする
;sendmail_path=”C:\xampp\mailtodisk\mailtodisk.exe” 無効にする
sendmail.ini smtp_server=smtp.gmail.com
smtp_port=587
auth_username=ms.naka.jp@gmail.com gmailのメールアドレス
auth_password=******** gmailのパスワード
force_sender=ms.naka.jp@gmail.com gmailのメールアドレス

ところが、次のコードを実行すると「メール送信が失敗しました」となり、送信されない。
——————————————————————————–
$rc=mb_send_mail($to,$apptitle,$body,$ext_header);
if (!$rc){
echo “メール送信が失敗しました。<br >”;
}else{
$_SESSION=NULL;
echo “メールが送信されました。<br >”;
}
——————————————————————————–
上記の設定でメール送信が出来たという報告がいくつものWebサイトであったが、何度やってもダメで、error.logを見たら、

Connection Closed Gracefully.

と書かれていた。このログを手がかりにして、片っ端から調べてみて設定を変えたりしたが、やはり送信できない。更に調べていくと、「Windows8ではXAMPPでsendmailが使えない」という情報を見つけた。そこで、気分転換も兼ねて、Windows7のノートパソコンで同じ設定で実行したら、何とまあ、あっさり送信が出来てしまった・・・。つまり、

原因はWindows8にあった

ということだ。レンタルサーバーではキチンとメール送信が出来ているので実用的には問題はなかったのに、なんだかんだで、この結論までに半日ぐらい費やすることになってしまって、さすがに疲れた。まだ、Windows8で送信できないという問題は残っているが、原因が判明してホッとした。

XamppのsendmailはWindows8で動かない」への1件のフィードバック

  1. ピンバック: ローカル環境でメールを送信する | テクニカルノート

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です