资源预览内容
第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
亲,该文档总共7页全部预览完了,如果喜欢就下载吧!
资源描述
信息发达的今天,作为人们工作与生活的必不可少的工具,邮件技术与相关人才是何其重 要。所以按纳不住,抛一块砖,希望能引起大家的共同关注,多多共同研究邮件方面的技 术。 邮件服器软件种类繁多,但大都离不开 SMTP(简单邮件传输协议) ,本文就从 SMTP 协议 入手讲解如何检测一般性邮件故障。所以这里不必考虑你用的是 EXCHANGE 还是 IMAIL 等等。 故障设置案例:突然发现:自己的公司的邮件:mymailme.com 不能发邮件给 abc163.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.121202.108.36.153这里得到的是 163.com 域名中 www 这个主机的 IP。一般情况下只会有一个 IP 纪录。为什 么有这么多呢?这里牵涉到 DNS 循环来解决服务器负担问题。我们不做详细介绍。第二个:SET TYPE=MX (SET Q=MX)通常进入 NSLOOKUP,默认操作类型为 A 纪录.但是我们要解决的是邮件问题,当然需要 查看的是邮件 MX 纪录。也就是发送给 abc163.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.commx.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 邮件纪录,下面开始真正的检测之旅吧,如果你是新手,你一定会觉得 下面的检测居然这么神奇。下一节你在检测的同时,你也会明白垃圾邮件,匿名邮件产生 的原理了。上一篇文章我说到,如何判定 DNS 是否故障,以及如何获得对方域名的 MX 纪录。如果 我们能正确获得上述信息也就说明不存在该类问题。则我们进行下一步的检测。 本章我将介绍如何使用 telnet 来检测运行简单邮件传输协议 (SMTP) 服务的邮件服务器上, 以解决 SMTP 通信问题。默认情况下,SMTP 侦听端口 25。在启动 Telnet 会话之前,必须具有要将此测试邮件发送到的目标用户的完整 SMTP 电子 邮件地址。该电子邮件地址必须采用以下格式: UserSite.Domain.com 本例中对应为: abc163.com 我们已经使用 NSLOOKUP 获取 Internet 邮件交换器记录 163.com 的为:mx.mail.163.com 在 CMD 窗口中键入:c:telnet mx.mail.163.com 25TELNET 使用格式:telnet 服务器名 端口号获得以下信息:220 Coremail SMTP(Anti Spam) System (163com20050206)虽然该条信息 220 后面的信息可能根据运行的邮件服务器软件不同而不同,但是符合运行 有 SMTP 服务,并且已经正常启动了的话,那么都会给出 220 消息。所以,如果你已经获 得了 220 信息,则说明已经成功连接到该服务器。如果得到其他信息如: Could not open connection to the host, on port 25: Connection failed 其他信息,则可以说明对方邮件服务存在故障,如服务器当机,相关服务没有启动等。导 致邮件发送失败。假设现在不存在该故障,我们获得了 220 信息。我们将进一步检测故障。注意: 1.Microsoft Telnet 不允许您使用 Backspace 键。如果在键入时出错,必须按 Enter 键,然 后开始键入新的命令。 2.有些 Telnet 应用程序要求您打开本地回显功能,以查看键入的命令。要在 Microsoft Telnet 会话中执行此操作,请在命令提示符处键入 set local_echo。 在 Microsoft Windows XP 中,应键入 set localecho 而不是 set local_echo。 3.提示:500 Command not recognized 检查该命令并再次键入它,或者验证您是否正在与 Microsoft SMTP 服务器直接通信。请按照我的说明观察以下步骤,红色字体为我敲入的命令。黑色部分为显示结果,中括号 中是我写的说明:220 Coremail SMTP(Anti Spam) System (163com20050206)helo me.com helo 是 SMTP 动词集中的一个动词,me.com 是告诉他将与他通讯的是 me.com 这个域名250 mx11 如果正常,则给出 250 消息。可能的故障为:me.com blocked.则说明你的域名已被该服务 器阻止,不能向他发送邮件。解决办法:与对方管理员沟通将域名放行。mail from:mymailme.com mail from: 告诉他发件人是谁:mymailme.com 注意,有些邮件服务器会对邮件地址进 行反向检测,所以尽量使用存在的 EMAIL 地址,否则可能提示错误。250 Ok如果正常,则给出 250 消息。可能的故障为: XXX blocked/refused 之类的信息.则说明你 的域名或邮件地址已被该服务器阻止,不能向他发送邮件。特别说明:NORTON SMTP GATEWAY 等软件都可以设置域名,垃圾邮件过滤,他们会参照一些大型的垃圾邮件管 理组织的数据库,如果你的 IP 已经被列入其中,则这些邮件服务器也会自动将你的邮件 BLOCK 掉,解决办法:与对方管理员沟通将域名或邮件地址加入例外中放行,或找 ISP 与垃圾邮件管理组织沟通将 IP 解锁rcpt to:abc163.com如果正该域中存在这个邮件地址则给出 250 消息
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号