PHPのメール機能がCentOS 5.7サーバーで機能しなくなりました。ファンクションコールを含むスクリプトは、このサーバ上で数日前まで動作していましたが、コンフィグレーションの変更はありませんでした。PHPのmail()関数がtrueまたはfalseを返さない - スクリプトがタイムアウトする
mail()関数を呼び出すたびに、PHPスクリプトはその行を停止/フリーズします。それはスクリプトタイムアウト制限に達します。
$msgheader = 'MIME-Version: 1.0' . "\r\n";
$msgheader .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$msgheader .= "From: Test Name <[email protected]>\r\n";
echo "About to send mail ->";
mail ("[email protected]", "Test Subject", "Test Body", $msg_header);
echo "Script never reaches this line!";
私はこの質問の電子メールアドレスを変更しましたが、以前に正しく実行されたスクリプトとして問題ではないことがわかりました。
メールアドレスをさまざまな個人アカウント(たとえば@ yahoo.com)に変更しようとしましたが、それでも機能しないため、ユーザーが所在する組織のスパムフィルタリングによるものではないと思います。
電子メールを送信できない場合にただちにfalseを返すのではなく、スクリプトのタイムアウトまでメール機能が停止する原因は何ですか?どのような設定を見ることができますか?
ありがとうございます!
EDIT:
- が
のphp.iniが持っているApacheのエラーログには、エラーはありません。
SMTP = localhostを。 smtp_port = 25; オプションsendmail_path =は/ usr/sbinに/ sendmailの-t -i
ログファイルにエラーが記録されていないかどうか確認してください。 –
新しいサーバーメールサーバーがインストールされていますか? php.iniで設定されていますか? –
Apacheエラーログにエラーはありません。私はphp.ini設定を含んでいます。私はファイアウォールのポート25を開いているが、まだそれを修正していない – Dan