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 2011年

host gmail.com给定gmail.com has address 74.125.233.24就行,然后;; connection timed out; no servers could be reached第二个。但这很奇怪,因为我可以ping通它。
tshepang 2011年

3
怎么host -t mx gmail.com样 您说得对,但这有点奇怪。
2011年

1
另一个想法:您可以将/etc/resolv.conf添加到问题中吗?
2011年

1
是的 迹象都指向一个狡猾的resolv.conf,可能是由于network-managerresolvconf不太打球。
Shadur

Answers:


4

提出评论中提到的几个问题,可能有助于弄清楚发生了什么:

  • 您可以添加/etc/resolv.conf到问题吗?您描述的输出host gmail.com有点可疑,可能表明您的域名服务器存在问题。

  • 您从命令中得到什么响应(如果有)host -t mx gmail.com

  • 您是否已从此计算机成功将邮件发送到其他系统?

  • 您的ISP是否有某种明确的策略要求您将其服务器用作邮件中继?如果这样做,则阻止MX查找请求的防火墙可能会解释获得部分正确的结果host gmail.com超时的怪异行为。


我同意这一点。它看起来更像是DNS问题,而不是Postifx的问题(尤其是由于引起的no servers could be reached错误host)。
bahamat 2012年

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环境属性,因此它不是changerooted的/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

0

看起来您位于代理后面:gmail.com地址已解析,但ping命令未成功。您可以尝试通过以下方式直接连接gmail的SMTP:

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

如果它回显“ 1”,则说明您无法连接,这可能是安全过滤的原因。


0

正如@Shadur指出的,此问题可能是由于您的ISP(或安装服务器的网络)引起的。如果SMTP端口(端口号25)有安全限制,则无法通过此端口访问MX服务器。

您可以尝试通过SSL端口(ssmtp,端口号465)使用SMTP。为此,请编辑/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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.