sendmail 常见报错总结

废话不多说, 直接上 trouble:


主机centos6.5: 主机名nevermore: IP:192.168.9.225, sendmail 服务已开启

主机centos6.5 主机名chris: IP: 192.168.9.100, sendmail服务已开启

现通过主机 nevermore 向 chris 发送邮件:

发送失败, 查看 /var/log/maillog, 可能会有如下的报错信息(部分文字已省略, 只看关键部分):

1. host not found

2. Relaying denied. IP name lookup failed

3. no route to host

...


首先, 请确保已开启 sendmail 服务, 并且没有其他类似服务如 postfix 与它竞争, 然后保证 sendmail 在监听 0.0.0.0:25

而不是 127.0.0.0:25(重要!!), 否则, 发多少遍都不能成功.  可能有人不知道怎么让 sendmail 监听本机 25 端口, 这里提一下:

cd /etc/mail

vi sendmail.mc

找到 127.0.0.0 那一行, 修改为:

dnl DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.0, Name=MTA')dnl


接下来, 解决上述问题:

1. host not found:

这是因为 chris 主机并没有被正确的解析(可能你能 ping chris 有反应, 但这不代表已被正确解析, 因为 sendmail 会去自动寻找真正的 chris ,导致 host not found 的 error )

解决办法:

在 /etc/hosts 文件里 添加如下一行;

192.168.9.100    chris. chris  

(注意上面有一点)


2.Relaying denied:

这是因为主机 nevermore 没有设置帮助转发邮件给 chris (这是合理的, 生产环境下的匿名转发会带给互联网大量的垃圾邮件), 设置方法如下:

vi /etc/mail/access

添加如下一行:

Connect:192.168.9                       RELAY # 帮助转发网段9的所有邮件

之后, 执行:  make access.db

然后重启服务, 即可


3. no route to host:

这是 iptables 的问题, 主机 chris 拒绝了 nevermore 的访问, 停止 iptables 服务, 或者

清空 iptables 即可



(未完待续...)




发布了28 篇原创文章 · 获赞 46 · 访问量 10万+

猜你喜欢

转载自blog.csdn.net/Blood_Seeker/article/details/53336140