客户服务
您当前位置:首页 >> 使用说明 >> 新闻动态

通用快速检测邮件故障思路方

作者:  日期:2012-09-19  点击:   
发一篇我几年前写的一些文章。因为看见很多朋友对于邮件故障的检测不是很熟。所以希望我的文章内对大伙有启发。 最早发表于2005年一个朋友的网站。 信息发达的今天,作为人们工作与生活的必不可少的工具,邮件技术与相关人才是何其重要。所以按纳不住,抛一块砖,希望能引起大家的共同关注,多多共同研究邮件方面的技术。 邮件服器软件种类繁多,但大都离不开SMTP(简单邮件传输协议),本文就从SMTP协议入手讲解如何检测一般性邮件故障。所以这里不必考虑你用的是EXCHANGE还是IMAIL等等。 故障设置案例: 突然发现:自己的公司的邮件:mymail@me.com 不能发邮件给 abc@163.com 了? 老板问你:为什么? 常见可能故障: 1.对方邮箱爆满,附件超过对方邮箱允许容量。 2.对方DNS故障。 3.对方邮件服务器故障。 4.对方拒绝收取你的邮件。 5.其他方面故障,为省篇幅这里不做讨论。 开刀啦。 一、分析故障从读NDR开始。 一般邮件传送失败,服务器都会给你NDR(NOT DELIVERY REPORT未送达报告)。通过阅读报告能获得很多信息。 NDR通常是英文的,夹带着N多数据如MSID,组织,目的地等,显得有点乱。不过幸好这种故障NDR都会比较容易的捕捉汇报,通常包含size exceed; data exceed等就说明对方邮箱已满或者附件过大。 而类似:HOST NOT FIND,COMMUNICATION FAILURE的NDR或者干脆什么信息都没有的呢就需要我们进一步测试了。这也是今天我主要想说的。 二、NSLOOKUP打先锋。 作用:他的用途很广泛,基本上作为一个学网络尤其是广域网的人要对这个命令非常熟悉。这里我们用他来完成以下任务: 1.测试对方的域名是否可以解析,如果不能解析则可能这一时刻对方的DNS服务器故障。导致通讯邮件发送失败。 2.获得对方的MX(邮件)纪录 从NDR中我们可以得到一些信息,HOST NOT FIND(主机未找到),COMMUNICATION FALURE(通讯失败),这些提示都显示着网络的某个地方出现了故障。所以我们就要先从这里下手。事实上当我从DNR中得不到任何有帮助的信息的时候我也是先这样开始的: 运行:CMD 键入:NSLOOKUP 命令。(WINDOWS系列需NT级系统才有,你可以使用在CMD中HELP命令获得NSLOOKUP的使用指南)。 进入操作界面,操作提示符如下: > 表示开始接受命令状态。 我只讲解两个有用的关键词 第一个:SERVER 进入NSLOOKUP后,系统会将默认的SERVER设置为你当前获得的DNS SERVER。显示如下 >Default Server: dns.me.com >Address: 10.10.10.2 > 有时候因为CACHE的原因,我们需要用外部更好的DNS SERVER来帮助我们完成测试。比如我LAN网内的DNS为10.10.10.2,为了更快更好的获得结果,我需要用广东省的铁通的DNS服务器来帮我完成测试,则敲入: 键入: >SERVER 211.98.2.4 显示为: >Default Server: ns.cn-railway.net >Address: 211.98.2.4 > 表示当前默认的DNS解析服务器更改为211.98.2.4,随后我们敲入的请求都将从这台服务器获得反馈。我们可以测试一下键入: > 163.com Server: [ ns.cn-railway.net] Address: 211.98.2.4 Non-authoritative answer: Name: 163.com Addresses: 202.106.168.103, 202.106.168.104, 202.106.168.109, 202.106.168.121 202.108.36.153 这里得到的是163.com域名中www这个主机的IP。一般情况下只会有一个IP纪录。为什么有这么多呢?这里牵涉到DNS循环来解决服务器负担问题。我们不做详细介绍。 第二个:SET TYPE=MX (SET Q=MX) 通常进入NSLOOKUP,默认操作类型为A纪录.但是我们要解决的是邮件问题,当然需要查看的是邮件MX纪录。也就是发送给 abc@163.com 的邮件会送到哪台邮件服务器上去。 这条命令就告诉服务器,我需要获得该域名的邮件纪录。set type=mx set q=mx 效果是一样的。当然如果你要察看A纪录,也可以用set q=A 切换。 键入命令: >set q=mx 再敲: >163.com 得到不同结果如下: Server: [ ns.cn-railway.net] Address: 211.98.2.4 Non-authoritative answer: 163.com MX preference = 50, mail exchanger = mx.mail.163.com mx.mail.163.com internet address = 202.108.44.208 mx.mail.163.com internet address = 202.108.44.209 mx.mail.163.com internet address = 202.108.44.210 mx.mail.163.com internet address = 202.108.44.211 mx.mail.163.com internet address = 202.108.44.215 mx.mail.163.com internet address = 202.108.44.223 mx.mail.163.com internet address = 202.108.44.224 mx.mail.163.com internet address = 202.108.44.228 mx.mail.163.com internet address = 202.108.44.133 mx.mail.163.com internet address = 202.108.44.154 mx.mail.163.com internet address = 202.108.44.155 mx.mail.163.com internet address = 202.108.44.180 mx.mail.163.com internet address = 202.108.44.203 mx.mail.163.com internet address = 202.108.44.207 由上可知,邮件纪录会发送给mx.mail.163.com这台服务器。同样下面列出很多条纪录对应到不同IP,都是处于缓解服务器负担,以及备用,分流作用。 特别注意: 1.请多更换几台DNS服务器进行测试,因为不同的DNS会因CACHE不同而得到不同的结果。这样比较准确的判断是否为对方的DNS故障,或者是自己的DNS服务故障。 2.如果使用NSLOOKUP在同一DNS服务器上测试多次以及在不同的服务器上测试多次,如果无法得到A纪录或者无法得到MX纪录。则说明对方的DNS出现问题。所以导致无法通讯,发送邮件。某些时候因为网络原因会得到 DNS request timed out. timeout was 2 seconds. *** Request to [211.98.4.1] timed-out 类似的结果。请试多几次。 好了,找到了MX邮件纪录,下面开始真正的检测之旅吧,如果你是新手,你一定会觉得下面的检测居然这么神奇。下一节你在检测的同时,你也会明白垃圾邮件,匿名邮件产生的原理了。 相关帖子 邮件服务器基础知识详细讲解 邮件传输原理及相关入门知识概述 电子邮件常识及应用(一) 邮件工作原理 我的MDaemon邮件服务器不能接收外部邮件 金笛邮件优势介绍 关于邮件群组的自动回复 hmail server不能收发外部邮件 winwebmail自动回复,内部地址不行,外网邮件确能够。在线等。。。。。 发往美国的邮件被退回 查看更多>>通用快速检测邮件故障思路方
上一篇:想象过在飞机上收发E-mail进行通信吗? 下一篇:请教邮件网关开发