我正在尝试通过 telnet 进入运行 PostFix 的 CentOS 服务器上的端口 25,以测试从该服务器发送电子邮件消息。
当我尝试从同一网络上的另一个 CentOS 机器进行 telnet 连接时,收到以下消息:
无法连接到远程主机:连接被拒绝
SELinux 已被禁用,并且我已在 iptables 中打开了端口 25...我还应该查看什么?
答案1
运行以下命令检查 postfix 是否正在监听端口 25/tcp:
netstat -plnt |grep :25
你应该看到如下一行:
tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 2460/master
如果您没有看到这样的行,请检查 /etc/postfix/master.cf。
在该文件中,你应该看到如下一行:
smtp inet n - n - - smtpd
第一列是端口,postfix 从 /etc/services 中获取该端口。
您应该查阅有关设置 Postfix 的一般文档,这样您的服务器就不会成为垃圾邮件中继。CentOS wiki 上有相当多的好的文档在这方面。
更新:
另外,看看http://www.postfix.org/postconf.5.html#inet_interfaces它将描述如何配置 Postfix 来监听不同的网络接口。相关行可以在 /etc/postfix/main.cf 中找到。
答案2
我编辑了文件 /etc/postfix/main.cf。要查找的参数是
inet_interfaces = 本地主机
我把它改成了
inet_interfaces = $myhostname, localhost
重新启动 postfix。问题已解决。
答案3
我遇到了这个问题并发现我需要这样做:
# service postfix stop
稍后
# service postfix start
Postfix 重新加载似乎没有关闭然后重新打开所需的端口。
答案4
检查你的/etc/hosts.allow和/etc/hosts.deny文件。也许 telnet 或端口被阻止了?!