我在 Debian 服务器中运行 sendmail + dovecot。我已启用防火墙规则以允许所有内容:
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -F
iptables -X
然而,在 yougetsignal.com 上快速检查后,我的 25 端口仍然被阻止。但 143、80 端口没有问题。
答案1
首先,感谢 symcbean,检查它是否正在运行。在系统上,输入
telnet localhost 25
如果你没有看到类似
220 risby.home.domainname.net ESMTP Sendmail 8.14.4/8.14.2; Wed, 1 Dec 2010 10:20:38 GMT
您的 sendmail 没有以守护进程模式运行,您将无法从任何地方访问它。修复此问题。
如果您确实看到了横幅,那么可能是 sendmail 没有绑定到您的外部 IP 地址。请执行以下操作
netstat -an|grep -w 25|grep LISTEN
如果你看到
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN
我错了,我们必须进一步挖掘。如果你看到
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
那么 sendmail 就被配置成只监听 loopback 接口,这就是为什么你不能从机器外访问它。查找一行内容
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
在您的 中sendmail.mc
,将其删除(如果您忽略我,并将其注释掉,请在行dnl
首使用 ,而不是#
),重新生成您的sendmail.cf
并重新启动 sendmail。