LAPPで会員向け情報サイトを作成しております。


会員登録(メールアドレスなど)をしたのをトリガーに、サンクスメールを送るPHPスクリプトを書いたのですが。
明らかに PHPの mail()関数のところで、処理がしばらく止まってしまいます。
それは、syslogを mail()関数の前後に書き出すようにして、
$ tail -f /var/log/messages を見ていて判りました。
 
約 3分後に mail()関数の部分を無視して通り抜けます。もちろん指定したメールアドレスには
メールは届きません。
 
今日、このWebサーバのグローバルIPアドレスを変更してから、このような現象が起こったと考えています。
原因解決のアドバイスをお願いします。
補足情報は、回答に対して随時コメントする次第です。

回答の条件
  • URL必須
  • 1人5回まで
  • 登録:
  • 終了:2012/02/10 00:35:11
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:oil999 No.1

回答回数1728ベストアンサー獲得回数320

ポイント200pt

SMTPサーバがWebサーバと異なるマシンで、新しいグローバルIPからのRELAY設定がなされていないのではありませんか?
sendmail.mc の RELAY 設定をご確認ください。

メールの中継(リレー)
http://www.kkaneko.com/computer/servers/relay.html

他1件のコメントを見る
id:oil999

>おっしゃることは外部のSMTPサーバの設定が必要ということでしょうか?
sendmailのエラーログを見ないと何とも言えません。

ただ、Postfixがホワイトリストを使っている場合は、のmain.cf設定ファイルでsmtpd_client_restrictions にホワイトリスト設定がなされていないということは考えられます。ご確認ください。
http://www.gabacho-net.jp/anti-spam/white-list.html

2012/02/03 18:33:39
id:gdwtseq

ご返信ありがとうございます。

/etc/mail/sendmail.mc に以下を追記して
define(`SMART_HOST`,'smtp.abcxxx.jp')dnl  <== Postfixです

sendmail.cf に反映させ、sendmail 再起動したら、
外部へメールが送信できるようになりました。

プロバイダーが変更して、OP25B が適用され障害になったと
思っておりますが(素人考えです)。

2012/02/07 21:55:30
  • id:tdoi
    考えられることは色々あると思いますが、Webサーバ、SMTPサーバなど関連しそうなログには何も情報は残されていないのでしょうか?
    あとは、sendmail_pathに何が指定されているかなんかは問題の把握に役立つかもです。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません