PHP using mail()
を使用してメールを送信しようとしています。両方のサーバーに完全にアクセスできます。異常なiptables
はありません。どちらのルール(sendmail
のデフォルトインストールをブロックするものはありません)
数年前に1台のサーバー(Ubuntu 10.10)にsendmail
をインストールすると、PHPからメールが送信されます。新しいサーバー(Ubuntu 10.04、今週セットアップ) )メールを送信しません-または試行していますが、すべての受信者が受信を拒否しています。
新しいサーバーのsendmail
ログを確認したところ、受信者ドメインのすべてのMXサーバーがConnection refused
..であることが示されています。
これらのサーバーの設定に違いはありません。デフォルトのsendmail
インストールがあります。標準 LAMPスタック 。それらは完全に異なるIP上にありますが、同じドメインの下で動作します(ただし、明らかに、ドメイン上の異なるマシン)。
私が考えることができる唯一のことは、新しいサーバー用に設定された逆引きDNSが、受信者のMXサーバーのスパムフィルターによって受け入れられていないということです。それは可能ですか?逆引きDNSを新しいサーバーのドメインにより適したものに変更するように要求しました。
古いサーバーは [〜#〜] nat [〜#〜] ルーターの背後にあるため、古いサーバーから送信するときに電子メールが送信されたように見えるIPアドレスは、ドメイン名に正しく解決されます。 'はサーバーを表します...しかし、新しいサーバーのIPはサーバーに直接接続されていますが、現在の rDNS は完全に異なるドメインに解決されます。
他に見逃しているものはありますか?
[〜#〜]更新[〜#〜]:
/var/log/mail.log
行の例:
Jan 11 12:16:03 ernesto sm-mta[1177]: q071CKnQ002371:
to=<[email protected]>, ctladdr=<[email protected]> (33/33), delay=4+11:03:43,
xdelay=00:00:00, mailer=esmtp, pri=58080351, relay=aspmx3.googlemail.com.,
dsn=4.0.0, stat=Deferred: Connection refused by aspmx3.googlemail.com.
解決しました!ホスティングプロバイダーは、乱用を防ぐためにいくつかのトライアルアカウントブロックを設定していることがわかりました。どうやら、これらは通常、新しい顧客が認証(私が行った)を通過すると解除されますが、そうではありませんでした。ありがたいことに、彼らは今やっていて、私は完璧にメールを送ることができます。
したがって、ここでのレッスン:何も想定しないでください!プロバイダーに戻ってfirstを調べて、現在の状況を妨げているものがないかどうかを確認してください。
元気な方にご迷惑をおかけして申し訳ありません。たくさんのご提案ありがとうございます。彼らは皆、最終的に答えを見つけるのを助けました:)
外部メールサーバーに手動で接続して、アウトバウンド接続を確認してください。最も簡単な方法は、おそらくtelnet aspmx.l.google.com 25
を実行して、連絡があるかどうかを確認することです。
それが機能する場合は、sendmailの構成にかかっています。
これはUbuntuなので、本当にapt-get install postfix
に誘惑され、ウィザードから適切なオプションを選択して、それを整理します。 sendmailを使用する正当な理由がない限り(CLI、PHPなどに関してほぼ100%互換性があります)、Postfixをインストールします。
これはネットワークの問題です。 「接続が拒否されました」とは、接続が拒否されたことを意味します。つまり、ソフトウェアではなく、ネットワークでは何も起こりません。
ネットワークの問題チェックから始めます。 ping、traceroute、telnet、route、iptablesなどが思い浮かびます。最初の開始:ネットワークケーブルが接続されていますか?