PHPを使用してWebサーバーを介して電子メールを送信しようとしていますが、何らかの理由で電子メールが届きません。 PHPによると、電子メールは正常に送信されましたが、電子メールを受信できませんでした。先週、Web サーバーを再インストールするまで、Web サーバーが電子メールを正常に送信できたため、これがスパムの問題ではないことがわかりました。まったく同じOSと設定がインストールされていますが、今は機能しません。
デフォルトのPHP設定を使用して電子メールを送信し、ファイアウォールでSMTPを有効にしましたが機能しないようです。
うまくいかない理由を解決するのに役立つ可能性があるPHPメール送信ログはありますか?
答え1
PHPは、Webサーバーと同じコンピューターで実行されているローカルSMTPサーバーと通信を試みることができます。それでは準備ができましたか?選べるものが多いです。最も広く使用されているのはSendmail、Exim、Postfix、Qmailです。
mailx
元のクライアントを使用して電子メールを送信してみてください。マシンの外部にメールを送信できない場合は、おそらくPHPがメールを送信できないのと同じ理由なので、問題はPHPの外部にあるかもしれません。
ポート25telnet
に接続し、手動でSMTPを使用してコマンドラインから手動で電子メールを送信します。localhost
これに関するオンラインガイドがたくさんあります。これは。そこからどこへ行くかは、何が起こったのかによって異なります。
ポート25で応答を受け取らない場合は、SMTPサーバーが稼働していません。
応答がある場合は、問題を解決するように求めるエラーメッセージが表示されることがあります。
電子メールを受け入れると思われる場合は、ローカルのSMTPサーバーをデバッグする必要があります。