sendmail 超时

sendmail 超时

sendmail在我们的一台 CentOS 服务器上超时。这是我的测试

[root@testserver ~]# echo "Subject: test" | /usr/lib/sendmail -v [email protected]

输出如下:

[email protected]... Connecting to [127.0.0.1] via relay...
220 testserver.ourdomain.com ESMTP Sendmail 8.13.8/8.13.8; Thu, 23 Jun 2011 14:32:18 -0600
>>> EHLO testserver.ourdomain.com
250-testserver.ourdomain.com Hello localhost.localdomain [127.0.0.1], pleased to meet you
250-ENHANCEDSTATUSCODES
250-PIPELINING
250-8BITMIME
250-SIZE
250-DSN
250-ETRN
250-AUTH DIGEST-MD5 CRAM-MD5
250-DELIVERBY
250 HELP
>>> MAIL From:<[email protected]> SIZE=14 [email protected]
250 2.1.0 <[email protected]>... Sender ok
>>> RCPT To:<[email protected]>
>>> DATA
250 2.1.5 <[email protected]>... Recipient ok
354 Enter mail, end with "." on a line by itself
>>> .
250 2.0.0 p5NKWInQ008636 Message accepted for delivery
[email protected]... Sent (p5NKWInQ008636 Message accepted for delivery)
Closing connection to [127.0.0.1]
>>> QUIT
221 2.0.0 testserver.ourdomain.com closing connection

一分钟后,/var/log/maillog显示以下内容:

Jun 23 14:32:18 testserver sendmail[8635]: p5NKWICR008635: [email protected], ctladdr=root (0/0), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30014, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (p5NKWInQ008636 Message accepted for delivery)
Jun 23 14:33:00 testserver sendmail[8638]: p5NKWInQ008636: to=<[email protected]>, ctladdr=<[email protected]> (0/0), delay=00:00:42, xdelay=00:00:42, mailer=esmtp, pri=120313, relay=ourdomain.com. [173.201.XXX.XXX], dsn=4.0.0, stat=Deferred: Connection timed out with ourdomain.com.

在第二个日志条目中,它似乎试图使用我们外部的公司网站来尝试转发电子邮件...我不知道它为什么会这样做。另一个 IT 人员最近设置了此服务器,所以我不确定他是否更改了 sendmail 配置或做了什么。我应该在哪里寻找补救措施?

(显然,上述日志中的名称、域名和 IP 地址已被更改,以保护无辜者)

答案1

使用 sendmail 在主机上向外部发送邮件消息现在分为两个步骤。第一步基本上是在本地发送电子邮件,以便排队等待向外部发送。该过程的下一步是获取排队的消息并将其发送到适当的位置。如果没有配置目标路由信息或智能主机信息,sendmail 将查阅 DNS,查找该域的 MX 记录,并使用返回的可能许多主机名之一将邮件发送到该主机名。这一切对我来说都很正常,特别是如果您无法访问外部 MX 主机。

您希望此主机向外部发送邮件,还是仅将其转发到中心位置?如果您只想做后者,则可以生成一个 sendmail 配置文件,以便从您的主机发送的所有电子邮件都转发到另一台主机进行传输。这通常在像我这样的大公司中是必要的,以限制用户可能因病毒而用虚假电子邮件轰炸网络。

答案2

检查您是否可以通过 telnet 端口 25 ( telnet 173.201.XXX.XXX 25) 连接到 ourdomain.com(日志中指定为 Relay= 的主机)。如果无法连接,则说明防火墙或路由存在与中继服务器连接的问题,您应该使用 ping/traceroute 进一步调查。

相关内容