在搭建企业邮件服务器的过程中,总结出一些重点,在邮件服务器程序正常运行的情况下,处理好这些问题,可解决大部分发信失败的问题:
1、IP反解析
IP反解析基本是发送邮件的门槛,如果MX记录对应的域名解析IP不能与服务器IP相符,大部分邮件门户都会拒收。如果邮件服务器没有静态IP,这项工作完成起来会异常困难。
MX记录一般为mail.XXX.com,windows下nslookup命令可测试IP反解析到mail.XXX.com是否有效。
nslookup xxx.xxx.xxx.xxx (邮件服务器IP地址)
DNS request timed out.
timeout was 2 seconds.
*** Can’t find server name for address xxx.xxx.xxx.xxx: Timed out
*** Default servers are not available
Server: UnKnown
Address: xxx.xxx.xxx.xxx (内网DNS代理或路由器的IP)
能看到如下信息代表IP反解析能够解析到邮件服务器对应的域名,否则表示改邮件服务器IP地址不能反向解析为域名。
Name: mail.xxx.com
Address: xxx.xxx.xxx.xxx
2、国际垃圾邮件黑名单
http://www.spamhaus.org
http://www.spamcop.net/bl.shtml
http://anti-spam.org.cn/services/rbl.php
http://www.senderbase.org/search?page=senders
http://openrbl.org/
大量的专业邮件提供商订阅了国际垃圾邮件黑名单,阻止在列表中的IP连接到邮件服务器。上这些网站查一下,你的服务器IP(或IP段)和域名是否在其中,如果不幸存在于黑名单中,提交对应的信息也能很快移除,大约几小时即可生效。
(万网的邮件服务器因为监管不力,曾经大量往国外发送垃圾邮件,导致万网所有的服务器IP地址进入Spamhaus黑名单,几年都无法发信到国外,直到2005年11月下旬黑名单IP才全部释放
来源:http://news.chinabyte.com/431/2219431.shtml)
3、正确的HELO域设置
邮件服务器程序的HELO域设置不正确或者是无效的域,也会导致发送失败。
一般HELO域为企业域名的A记录mail,如:mail.XXX.com。
4、邮件服务器使用的DNS
很多时候发送邮件失败的原因是DNS服务器不工作了,无法解析邮件地址中“@”之后的域,也就无法找到接受方的服务器地址,发信自然会失败。简单的使用ping命令加上常用网址,就能测试DNS是否正常工作。
5、特殊的情况
需要根据收信方邮件服务器的退回信息来判断,并作对应的处理,比如退信中返回的错误代码和退信问题列表。
我曾处理发信到sohu.com失败的问题,检查了所有之前提到的所有设置都正常,可还是每次都被退回,检查退信内容后,我联系上了邮件管理员,并提交了对应的网站资料,每日大致的发信数量,直至sohu.com将我的邮件服务器IP加入白名单。
MX记录设置
MX记录是邮件路由记录,用户可以将该域名下的邮件服务器指向到自己的mail server上,然后即可自行操控所有的邮箱设置。您只需在线填写您服务器的IP地址,即可将您域名下的邮件全部转到您自己设定相应的邮件服务器上。
大多数SMTP要求MX记录指向一个主机名。因此请将MX记录指定到一个主机名,而不是IP地址。如:先将mail.whatis.cn解析到 18.5.1.249 再将MX记录设置为mail (或者mail.whatis.cn.)[以“.”结尾的主机名表示主机名的全称(FQDN);而不是用“.”结尾的主机名表示在该域名下的主机名。]
“优先级”仅对MX记录有效,其他类型的记录将忽略优先级。
如果没有自己的邮件服务器,可以使用邮件转发。但做了邮件转发后,将删除原来的MX记录。要谨慎。