
mb_send_mail関数を使って実装スクリプトのメール送信テストをローカルから行う。
環境は、WindowsXPとXAMPP1.6.4のMercury。PHPのバージョンは5.2.4。
自宅Windowsと職場Windowsでなぜか結果に差異が出てしまったので、その解決方法をメモ。
同じスクリプトで職場Windowsだと送信できるのに自宅Windowsだとなぜか送信できない。php.iniの設定も同じなのに。。
なぜか自宅Windowsだと送信エラーが出てしまう。。
で、結論から言うと、自宅Windowsからメール送信できたphp.iniの設定は
;sendmail_path = "C:\xampp\sendmail\sendmail.exe -t"
のコメントアウトを外して
sendmail_path = "C:\xampp\sendmail\sendmail.exe -t"
に設定変更すると自宅Windowsからでもローカルからメール送信できるようになりました。(For Unix onlyってのは嘘かい。w)
(要apacheの再起動)
※職場Windowsはその設定をしなくてもmb_send_mailでバシバシメール送信できてます。
それ以外の設定は、ともに以下のとおり。
extension=php_mbstring.dll SMTP = localhost smtp_port = 25 ;sendmail_from = me@example.com
2台のWindowsのどの部分で差異があるのかわからないままなので、すごく気持ち悪い。。w
これだけでもLocalからメール送信できる。
Mercuryのコントロールパネルから、
Configuration > MercuryS SMTP Server
でパネルをひらいて
Connection controlのRelaying controlの中の
・Do not permit SMTP relaying of non-local mail
・Authenticated SMTP connections may relay mail
のチェックをはずして、Mercury再起動
以上。
No related posts.
それってこれなのでは?
http://homepage1.nifty.com/yito/anhttpd/faq/op25b.html
type:コメント [ ]
おお!!ご助言ありがとうございます
勉強させてもらいます!
ありがとうございます
type:コメント [ ]