MDaemon使用指南:邮件发送失败如何检查
想要从A服务器发送一封信件到B服务器,需要以下条件:
1.从A服务器端成功发出
2.从A服务器到B服务器网络环境良好,数据传输正常
3.B服务器顺利接受,并分发给相关用户
因此,当这封信件发出,而B服务器并未收到时,有可能是发送成功接收不成功,也有可能是发送不成功。具体的原因,需要根据实际情况来检查和判断。检查步骤如下:
一,检查发送方设置
1)检查是否能够解析到收件人服务器域名
运行命令提示符界面,输入以下命令来查看解析是否有误:
上图是一个服务器域名正确的解析结果。既能够从qq.com域名解析到MX记录,进而再解析到其相关A记录。那么,发往对方的信件便会发送到该地址。如果域名解析超时或者不正确,就无法发送成功。
2)检查服务器是否安装杀毒软件、防火墙设置是否正确
服务器如果安装多种杀毒软件或者杀毒软件、防火墙等对邮件监控级别过高,都会导致发送信件失败或者超时。
所以对第三方的杀毒软件或防火墙,一般是做如下设置:
1.第三方的杀毒软件或防火墙取消对邮件收发服务的监控,避免和AntiVirus(现更名为SecurityPlus)插件产生冲突。
2.第三方的杀毒软件或防火墙均设置对MDaemon邮件服务器的安装目录以及所使用的目录跳过检测,即这些目录中的读写操作不做监控和检测,以免产生兼容性问题。
3)查看日志检查信件是否成功发出
在这一步主要是通过检查日志来得出结论。日志详细地记录了域名解析、数据传输甚至是错误原因等情况。当日志末端反馈会话成功,则该信件发送成功。
否则一般在日志末尾部分会提示错误编码以及错误原因,根据该提示可得出发送失败的具体原因。
邮件收发日志流程
1) 接收外部邮件: Smtp In(Smtp 接收)→ AntiVirus(反病毒引擎)→ AntiSpam(反垃圾引擎)→ ContentFilter(内容过滤器)→Routing(路由)
2) 收发本域邮件: Smtp In(Smtp 接收)→ AntiVirus(反病毒引擎)→ AntiSpam(反垃圾引擎)→ ContentFilter(内容过滤器)→Routing(路由)
3) 发送外域邮件: Smtp In(Smtp 接收)→ AntiVirus(反病毒引擎)→ AntiSpam(反垃圾引擎)→ ContentFilter(内容过滤器)→Routing(路由)→Smtp Out(Smtp发送)
4)检查服务器的安全设置
如果查询邮件日志无法得出结论,则需要检查下服务器安全设置是否有限制,是否对方服务器域名、IP不受信任;IP反向查询受限制等等原因。
二,检查接收方设置
信件发送成功后,接收方也会有诸多设置:
1)发送方反向解析是否正常
当发送方IP试图与接收方服务器建立连接时,接收方会反向解析此IP,如果解析到的域名与连接过来显示的域名一致,则进行通信;否则,很有可能会被视为垃圾邮件而拒绝连接。注意,发往国外信件或服务器使用动态IP一般会遭到这样的拒绝。
2)查询DNS黑名单
出于安全考虑,接收方对于每一封进来的邮件,都会执行DNS-BL查询,如果发送方的IP地址被列入黑名单,那么显然无法接收。
3)查询其他规则限制
如果对方有类似于内容过滤器的相关设置,那么邮件经过检查不符合,就会放入坏队列;或者发送方以前曾经发过垃圾邮件,那么有可能会自动屏蔽该地址。具体也要视对方服务器设置而定。
4)查询服务器的垃圾邮件过滤机制设定
如果一封信经过前面的诸多条件,都顺利通过了,那么进到服务器还需要检查是否垃圾邮件。根据服务器的应用启发式评分,如果评出来的分值大于垃圾邮件设定分值,那就会被服务器当作垃圾邮件处理掉,而无法到达用户。
以上总结了可能出现的种种状况。所以当邮件没能顺利接收时,可以逐条检查排除因素,最终确定真正原因。