Postfixがメールを送信せず、「ホスト名またはドメイン名が見つかりません」と文句を言う


10

メールを送信するために次の手順に従いました。Postfixログは次のとおりです。

Sep 26 00:46:24 tshepang postfix/smtpd[5728]: 8EE2464931: client=localhost[127.0.0.1]
Sep 26 00:47:44 tshepang postfix/cleanup[5810]: 8EE2464931: message-id=<20110925224624.8EE2464931@tshepang>
Sep 26 00:47:44 tshepang postfix/qmgr[5772]: 8EE2464931: from=<tshepang@gmail.com>, size=350, nrcpt=1 (queue active)
Sep 26 00:48:04 tshepang postfix/smtp[5859]: 8EE2464931: to=<tshepang.test@gmail.com>, relay=none, delay=127, delays=107/0.01/20/0, dsn=4.4.3, status=deferred (Host or domain name not found. Name service error for name=gmail.com type=MX: Host not found, try again)
Sep 26 00:48:39 tshepang postfix/smtpd[5728]: disconnect from localhost[127.0.0.1]

また、これは関連する可能性があります(「/etc/postfix/main.cf」から):

myhostname = tshepang
mydestination = tshepang, localhost
relayhost = 
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
inet_interfaces = all
inet_protocols = all

私はこれをDebian 6で実行しています。


/etc/resolv.conf無効または応答しないリゾルバがないかどうかを確認します。やってみてくださいhost gmail.com; 結果が得られるかどうか確認してください。
laebshade '25

host gmail.comgmail.com has address 74.125.233.24ラインに与える、そして;; connection timed out; no servers could be reached2番目に与える。しかし、pingできるので奇妙です。
tshepang 2011

3
いかがhost -t mx gmail.comですか?あなたは正しいですが、これは少し奇妙です。
Shadur、2011年

1
別の考え:/etc/resolv.confを質問に追加できますか?
Shadur、2011年

1
うん。兆候はresolv.conf、おそらくボールをプレーしているnetwork-managerresolvconf、プレーしていないために、危険なことを示しています。
Shadur

回答:


4

何が起こっているのかを理解するのに役立つかもしれないコメントで言及されているいくつかの質問を後押しします:

  • あなた/etc/resolv.confを質問に追加できますか?説明する出力host gmail.comは少し疑わしいものであり、ネームサーバーの問題を示している可能性があります。

  • コマンドからどのような応答がありますhost -t mx gmail.comか?

  • このコンピューターから他のシステムにメールを正常に送信しましたか?

  • ISPには、サーバーをメールリレーとして使用することを要求するある種の明示的なポリシーがありますか?その場合、MXルックアップ要求をブロックするファイアウォールが、部分的に正しい結果を得たhost gmail.comタイムアウトするという奇妙な動作を説明する可能性があります。


私はこれに同意する。Postifxの問題よりもDNSの問題のように見えます(特にからのno servers could be reachedエラーのためhost)。
バハマ

4

以前は同じ問題がありました:

root@medusa:~# postqueue -p
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
079AC700080B      357 Wed Apr  3 13:47:47  root@medusa.yyyy.cz
(Host or domain name not found. Name service error for name=xxxx.cz type=MX: Host not found, try again)
                                         hmls@xxxx.cz

..

root@medusa:~# host -t MX xxxx.cz
xxxx.cz mail is handled by 10 e2sgw01.xxxx.cz.
xxxx.cz mail is handled by 10 e2sgw02.xxxx.cz.

..

root@medusa:~# telnet e2sgw01.xxxx.cz. 25
Trying 217.77.161.168...
Connected to e2sgw01.xxxx.cz.
Escape character is '^]'.
220 e2sgw01.xxxx.cz ESMTP Postfix

問題は/var/spool/postfix/etc/resolv.confファイル(chrootされたファイル)にありました。それを見てください。


1

chrootプロパティを無効にして、ここに/etc/postfix/master.cf記載されているようにchangerootされないようにしてください

# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      inet  n       -       -       -       -       smtpd

# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
smtp      inet  n       -       n       -       -       smtpd

0

プロキシの背後にいるようです。gmail.comアドレスは解決されましたが、pingコマンドは成功しません。次の方法でGmailのSMTPに直接接続してみてください。

nc -w 1 gmail.com 25 ; echo $?

「1」と表示される場合は、接続できません。おそらくセキュリティフィルタリングの原因です。


0

@Shadurが指摘したように、この問題はISP(またはサーバーがインストールされているネットワーク)が原因である可能性があります。SMTPポート(ポート番号25)にセキュリティ制限がある場合、MXサーバーはこのポート経由で到達できません。

代わりに、SMTP over SSLポート(ssmtp、ポート番号465)を使用してみてください。これを行うには、/etc/postfix/master.cfファイルを編集し、smtp行にコメントを付け、代わりにssmtp行を追加します。

# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ==========================================================================
#smtp      inet  n       -       -       -       -       smtpd
ssmtp      inet  n       -       -       -       -       smtpd

この投稿があなたのマシンでこの名前で認識されていることを確認するには、次のようにします:

$>cat /etc/services | grep smtp
smtp        25/tcp      mail
ssmtp       465/tcp     smtps       # SMTP over SSL
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.