2012-03-28 7 views
0

私は奇妙なメールの問題があります。具体的には、私は要求ヘッダーをチェックするスクリプトを持っていて、ある文字列と一致する場合はmail()を使ってメールを送ります。これは、標準の 'to'、 'subject'、 'content'、 'from'フィールドなど、基本的なメールです。PHPメールのスローダウンがページをぶら下げている

メールは正常に送信されますが、生成されたHTMLの外にmail()がある場合でも、30秒以上にわたってページの読み込みがハングアップします。私はいくつかの回答を見て、メールをdbにダンプしてcronジョブを実行することを提案しましたが、それは実際にはこのような状況では選択肢ではありません。

基本的には、mail()が完了していないPHPスクリプト(ページの読み込み)の完了を強制する方法があるかどうか、私はそれが長くかかる原因となっている可能性があります確認する必要がありますかと思います。

答えて

0

私はRHEL 4サーバーで一度同様の問題があり、PEARメールを使用するか、外部のsmtpサーバー(私の場合はgmail)を使用するという2つのソリューションが見つかりました。簡単な連絡フォームの送信は30〜50秒から1秒未満になりました。

が、私はそれの原因を見つけたことはありません...

0

mail()に問題がなかった、私はそれを非常に信頼できる見つけます。

  • 問題は、すべての電子メールまたは特定のもので発生しますか?
  • 別のサーバーでコードをテストしようとしましたか?
  • PHPmailer()hereから(可能であれば)SMTPを使用してください。 Hereは良いチュートリアルです。


+0

問題は、 'mail()'関数を使用して、任意のPHPで作成したメールに発生します。サーバーの設定自体が「面白い」と言えますが、サーバーの制限が減速の原因になっていると私は驚くことはありません。 4〜6ヶ月で交換されているので、サーバ自体をあまりにも多く手直しすることをためらっています。それは他の何よりも「今のところこの仕事をしてください」という問題です。 – SickHippie

0

私は同様の問題があったとき、それは正規のホスト名が存在しないことによって引き起こされました。 /var/log/mail.err

ルック:あなたは

のsendmail [31575]見れば:!私自身のドメイン名(ローカルホスト)を修飾することができない - 短い名前を使用して」

をその後、それはそれだ

そして、あなたが必要とする:

  1. /etc/hostsに自分のホスト名を追加します。 your.ip.address your.host.name
  2. として/etc/hostnameでホスト名を設定します:としてyour.host.name
  3. 再起動し
関連する問題