通用快速检测邮件故障思路方法(二)

上一篇文章我说到,如何判定DNS是否故障,以及如何获得对方域名的MX纪录。如果我们能正确获得上述信息也就说明不存在该类问题。则我们进行下一步的检测。

本章我将介绍如何使用 telnet 来检测运行简单邮件传输协议 (SMTP) 服务的邮件服务器上,以解决 SMTP 通信问题。默认情况下,SMTP 侦听端口 25。

在启动 Telnet 会话之前,必须具有要将此测试邮件发送到的目标用户的完整 SMTP 电子邮件地址。该电子邮件地址必须采用以下格式:
User@Site.Domain.com
本例中对应为:
abc@163.com

我们已经使用NSLOOKUP获取 Internet 邮件交换器记录163.com的为:mx.mail.163.com

在CMD窗口中键入:

c:\>telnet mx.mail.163.com 25

TELNET 使用格式:telnet 服务器名 端口号

获得以下信息:

220 Coremail SMTP(Anti Spam) System (163com[20050206])

虽然该条信息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 (163com[20050206])

helo me.com
[ helo是SMTP动词集中的一个动词,me.com是告诉他将与他通讯的是me.com这个域名]

250 mx11

[如果正常,则给出250消息。可能的故障为:me.com blocked.则说明你的域名已被该服务器阻止,不能向他发送邮件。解决办法:与对方管理员沟通将域名放行。]

mail from:mymail@me.com

[mail from: 告诉他发件人是谁:mymail@me.com
注意,有些邮件服务器会对邮件地址进行反向检测,所以尽量使用存在的EMAIL地址,否则可能提示错误。]

250 Ok

[如果正常,则给出250消息。可能的故障为: XXX blocked/refused之类的信息.则说明你的域名或邮件地址已被该服务器阻止,不能向他发送邮件。特别说明:NORTON SMTP GATEWAY 等软件都可以设置域名,垃圾邮件过滤,他们会参照一些大型的垃圾邮件管理组织的数据库,如果你的IP已经被列入其中,则这些邮件服务器也会自动将你的邮件BLOCK掉,解决办法:与对方管理员沟通将域名或邮件地址加入例外中放行,或找ISP与垃圾邮件管理组织沟通将IP解锁]

rcpt to:abc@163.com

[如果正该域中存在这个邮件地址则给出250消息,否则550消息如下:]

550 <abc@163.com>: Invalid User

[此处,我们得到我们的故障,abc@163.com不存在,或者被禁用所以不能向他发送邮件。故障解决。以下步骤我们学习使用TELNET直接向某邮件地址发送邮件]

rcpt to:
webmaster@163.com

250 Ok

data

[表示下面为邮件内容]

354 End data with <CR><LF>.<CR><LF> [如果提示邮件内容结束时需要以" . "(半角句号)+回车 结束]

subject:test mail form me.com

[subject: 表示后面是邮件的标题,两次回车(为什么?参见相关SMTP相关文档)后开始输入邮件正文。]

as the title.

. [一个回车后输入 . 号一定要有哦]

250 Ok: queued as SkDBJDx3U0IpFdsF.1

[邮件已放入发送队列中,有些服务器直接发送出去]

quit

号[退出TELNET]

221 Bye

Connection to host lost.

好了。如果通过以上步骤,我们基本上可以了解到邮件发送到各个环节是是否存在故障,如果顺利通过而你仍然不能通过OUTLOOK或者其他软件向该邮箱地址发送邮件的话,则说明故障存在与其他部分,这里我们就不讨论了。留给后面的同志跟上吧。

第三节中我们将讲如何测试POP3协议是否运行正常。

设置问题:不能使用POP3协议接受邮件是我的问题,还是服务器问题?

posted @ 2006-10-12 23:24  lanjue  阅读(282)  评论(0编辑  收藏  举报