web-dev-qa-db-ja.com

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

私はメールを送信するために これらの指示 に従いました、そして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=<[email protected]>, size=350, nrcpt=1 (queue active)
Sep 26 00:48:04 tshepang postfix/smtp[5859]: 8EE2464931: to=<[email protected]>, 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で実行しています。

10
tshepang

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

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

..

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されたファイル)にありました。それを見てください。

4
tloudev

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

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

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

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

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

4
Shadur

chrootプロパティを無効にして、/etc/postfix/master.cf記載通り ここ

# ==========================================================================
# 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
1

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

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

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

0
Arcadien

@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
0