会員登録(メールアドレスなど)をしたのをトリガーに、サンクスメールを送るPHPスクリプトを書いたのですが。
明らかに PHPの mail()関数のところで、処理がしばらく止まってしまいます。
それは、syslogを mail()関数の前後に書き出すようにして、
$ tail -f /var/log/messages を見ていて判りました。
約 3分後に mail()関数の部分を無視して通り抜けます。もちろん指定したメールアドレスには
メールは届きません。
今日、このWebサーバのグローバルIPアドレスを変更してから、このような現象が起こったと考えています。
原因解決のアドバイスをお願いします。
補足情報は、回答に対して随時コメントする次第です。
SMTPサーバがWebサーバと異なるマシンで、新しいグローバルIPからのRELAY設定がなされていないのではありませんか?
sendmail.mc の RELAY 設定をご確認ください。
メールの中継(リレー)
http://www.kkaneko.com/computer/servers/relay.html
>おっしゃることは外部のSMTPサーバの設定が必要ということでしょうか?
2012/02/03 18:33:39sendmailのエラーログを見ないと何とも言えません。
ただ、Postfixがホワイトリストを使っている場合は、のmain.cf設定ファイルでsmtpd_client_restrictions にホワイトリスト設定がなされていないということは考えられます。ご確認ください。
http://www.gabacho-net.jp/anti-spam/white-list.html
ご返信ありがとうございます。
2012/02/07 21:55:30/etc/mail/sendmail.mc に以下を追記して
define(`SMART_HOST`,'smtp.abcxxx.jp')dnl <== Postfixです
sendmail.cf に反映させ、sendmail 再起動したら、
外部へメールが送信できるようになりました。
プロバイダーが変更して、OP25B が適用され障害になったと
思っておりますが(素人考えです)。