Sendmail 发件人地址的域无法解析。无法发送任何电子邮件。

Sendmail 发件人地址的域无法解析。无法发送任何电子邮件。

我对 Sendmail 一头雾水。我刚刚接手了一个使用 sendmail 的应用程序,之前没有任何经验。我使用的是 Ubuntu 10.04.4 LTS。最近我们发现用户不再收到电子邮件。我尝试使用以下命令进行测试,但这似乎不会在邮件日志中触发任何活动。

sudo sendmail -s 'Hello world' [email protected]

查看 sendmail 日志后,我发现与发件人地址域名未解析有关的消息。域名 li31313-134 似乎有问题。见下文:

Apr  9 16:42:07 localhost sendmail[18230]: s39Kg7nA018230: from=www-data, size=598,                  class=0, nrcpts=1, msgid=<201404092042.s39Kg7nA018230@li313-134>, relay=www-data@localhost
Apr  9 16:42:07 localhost sendmail[18230]: s39Kg7nA018230: [email protected], delay=00:00:00, mailer=esmtp, pri=30598, dsn=4.4.3, stat=queued
Apr  9 16:43:51 localhost sendmail[18247]: s39KhpLD018247: from=jparker, size=149, class=0, nrcpts=1, msgid=<201404092043.s39KhpLD018247@li313-134>, relay=jparker@localhost
Apr  9 16:43:51 localhost sm-mta[18248]: s39KhpDC018248: ruleset=check_rcpt, arg1=<root@li313-134>relay=localhost.localdomain [127.0.0.1], reject=451 4.1.8 Domain of sender address     jparker@li313-134 does not resolve

我尝试修改 /etc/hosts,但没有成功。下面是我当前的 hosts 文件。如您所见,我尝试了几种组合:

127.0.0.1       localhost.localdomain   localhost
<EXTERNAL IP>   li313-134       li313-134.
127.0.0.1       li313-134       li313-134.

另一个我无法排除的问题是 IPTABLES 阻止了外发邮件。同样,我没有太多经验,但我尝试确保端口 25 可以发送/接收。我可以正常接收邮件。IPTABLES 规则如下。其中可能有几个恶意规则:

Chain INPUT (policy DROP 10 packets, 508 bytes)
num   pkts bytes target     prot opt in     out     source               destination
1     210K   67M fail2ban-ssh  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0               multiport dports 22
2    4986K 6254M ACCEPT     all  --  *      *       127.0.0.1            0.0.0.0/0
3      27M 4312M ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           multiport dports 22,80,443,3690,5432,8999:9003
4      147 10052 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           multiport dports 53
5      18M   12G ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
6        0     0 DROP       all  --  *      *       23.91.20.0/24        0.0.0.0/0
7       51  2464 DROP       all  --  *      *       23.0.0.0/8           0.0.0.0/0
8       75  6399 DROP       all  --  *      *       192.0.0.0/8          0.0.0.0/0
9        0     0 DROP       all  --  *      *       192.0.0.0/8          0.0.0.0/0
10    9425  669K DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0
11       0     0 ACCEPT     tcp  --  eth0   *       0.0.0.0/0            0.0.0.0/0           tcp dpt:25 state NEW,ESTABLISHED

Chain FORWARD (policy DROP 0 packets, 0 bytes)
num   pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy DROP 11M packets, 766M bytes)
num   pkts bytes target     prot opt in     out     source               destination
1    4986K 6254M ACCEPT     all  --  *      *       127.0.0.1            0.0.0.0/0
2      39M   16G ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
3        0     0 ACCEPT     tcp  --  *      eth0    0.0.0.0/0            0.0.0.0/0           tcp spt:25 state ESTABLISHED

答案1

简单的解决方法是将主机重命名为 DNS 中实际存在的名称。

答案2

好的,IPTABLES 是罪魁祸首。我刷新了规则,重新启动了 sendmail,然后收到大量电子邮件。现在我将恢复 IPTABLES 规则并找出阻止 DNS 的规则。

相关内容