上海青羽电脑科技有限公司

技术园地

TECHNOLOGY

技术园地

sendmail配置问题(下)

发布时间:2016-01-26  /  浏览次数:10,540次

无法接收外部邮件的问题
系统已经能够向外发送邮件了,但是接不到外来邮件,这个问题困扰了我整整一天,后来体会到sendmail为了提高安全性,做了很多判断,收不到邮件会有多种原因:

上节讲sendmail启动时获取了很多名字,这些名字用来过滤对方发的邮件,如果发来的邮件的目的地址的主机名部分不能被识别,将拒绝这个邮件,所以,在上节所将的配置主机名的地方一定要将所有可能的名字包含在内。

SMTP使用25号端口,要看绑定在哪个IP上,那么只有向这个IP发送的邮件才被接收,查看的命令是netstat -na | grep 25。一开始,在sendmail.cf中,有下面一行

DaemonPortOptions=Port=smtp,Addr=127.0.0.1, Name=MTA

那么,sendmail启动时就帮定到127.0.0.1上了,结果只能在同一台机器的不同用户间发邮件。如果改成

DaemonPortOptions=Port=smtp,Addr=实际IP, Name=MTA

那么,只能接收发向此IP的消息了,结果同机器上用户将的信息不能转发了。

解决办法是两个都加上。还有更好的方法就是两条配置命令都删除,这样25号端口就不绑定IP地址了。

部分邮件服务器拒绝接收
由于IP地址都是租来的,可能该IP被人用过而且有不好的声誉,现在很多邮件服务器都加入了一个反垃圾邮件和病毒的联盟,很有可能你拿到的IP正在别人的黑名单上。不幸的是,这就发生在我的身上。为了解决这个问题,需要到这些服务器上声明自己是清白的。主要作了下面的声明:

1.到http://www.spamhaus.org上检查自己的IP是否有污点,有就需要清除

2.到http://cbl.abuseat.org上检查CBL的状态,必要的化需要清除

差不多过30分钟,到http://www.senderbase.org上看IP地址的评级,我的邮件评级已经是netural了,但是web仍然是poor,回头再考虑怎样解决。

一站式解决邮件收发与安全难题
靠谱工程师为您提供一对一的专业技术支持与服务
申请试用
400-602-8603