2013-03-29, 17:14 | #1 (permalink) |
版主
注册日期: 2012-02-07
帖子: 281
|
命令行方式探测邮件服务器
在实际应用中,管理员可能会偶尔遇到无法发送邮件,或者无法正常收取邮件的情况,发生这种状况的时候,您可以参考以下方法,对服务器进行命令行方式的探测。
以下命令都是在Windows命令提示符窗口下完成的,所以在操作之前,必须打开命令提示符窗口,在“开始”菜单-->运行中输入: cmd 回车后,就进入了命令提示符模式。 在要对目标邮件服务器进行探测的时候,必须先知道对方的收件服务器IP地址,所以必须先通过nslookup命令查找得到对方邮件服务器的mx记录指向的主机。操作如下: 比如我现在要探测通过我当前所在机器 是否可以给163.com发送邮件: 一般来说,如果是你的邮件服务器不能发送到目标的主机,进行指令测试的时候,必须在你的邮件服务器上打开命令窗口进行测试,而不是你的工作计算机,因为在连接对方服务器的时候,对方服务器会要判断你的IP地址和你的域名是否对应,显然,如果你用的是工作机去连接的话,大多数情况下是会被对方邮件服务器中断连接的。 首先,先获得163.com的任意一个SMTP收信服务器地址 C:\>nslookup Default Server: vassun2.macau.ctm.net Address: 202.175.3.8 > set type=mx > 163.com Server: vassun2.macau.ctm.net Address: 202.175.3.8 Non-authoritative answer: 163.com MX preference = 50, mail exchanger = 163mx01.mxmail.netease.com <---- 这个即为163.com的收信地址 163.com nameserver = ns3.nease.net 163.com nameserver = ns.nease.net ns.nease.net internet address = 202.106.185.75 ns3.nease.net internet address = 220.181.28.3 接下来,我们就可以按照以下命令对服务器 163mx01.mxmail.netease.com 进行探测了。 如果要探测或测试其他的邮件服务器,用同样的方法和过程都可以测试。 注:以下的操作,在命令提示符下,如果进入了telnet的网络连接状态,输入的指令在windows 2000或以下的版本下不会回显出来(windows2003的命令提示可以显示),建议将指令先整理好放在记事本当中,然后逐条指令复制,对着已经连接上的CMD命令提示符窗口点击右键(一般对着命令提示符点击右键就可以粘贴剪贴板的数据),就可以将复制到剪贴板的所有内容粘贴到命令提示符窗口上(粘贴过来的字符一般也没有显示)。 命令行方式发送邮件 C:\>telnet 163mx01.mxmail.netease.com 25 220 163.com Coremail SMTP(Anti Spam) System HELO hunan.com.cn [ 此处输入的是HELO名,一般情况下是邮件后缀名(域名) ] 250 OK MAIL FROM:<admin@hunan.com.cn> [ 发件人地址指令 ] 250 Mail OK RCPT TO:<sd179@163.com> [ 收件人地址指令 ] 250 Mail OK DATA [ 进入发邮件正文数据状态指令 ] 354 End data with <CR><LF>.<CR><LF> (可以随意输入一些内容或者也可以输入以下内容) From: "hunan.com.cn postmaster" <admin@hunan.com.cn> To: "sd179@163.com" Subject: =?gb2312?B?ztLU2rLiytTE4w==?= Date: Mon, 14 Apr 2003 11:03:36 +0800 MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_000_0016_01C30275.811BAE50" X-Priority: 3 X-MSMail-Priority: Normal X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4910.0300 This is a multi-part message in MIME format. ------=_NextPart_000_0016_01C30275.811BAE50 Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 c2tmamFzZg0KweO148DWttO1xNK70KnKssO0uOjU2g0K ------=_NextPart_000_0016_01C30275.811BAE50 Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: base64 PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuM CBUcmFuc2l0aW9uYWwvL0VOIj4NCjxIVE1MPjxIRUFEPg0KPE1FVEEgY2 9udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PWdiMjMxMiIgaHR0cC1lcXV pdj1Db250ZW50LVR5cGU+DQo8TUVUQSBjb250ZW50PSJNU0hUTUwgNS4w MC4zNTAyLjUzOTAiIG5hbWU9R0VORVJBVE9SPg0KPFNUWUxFPjwvU1RZT EU+DQo8L0hFQUQ+DQo8Qk9EWSBiZ0NvbG9yPSNmZmZmZmY+DQo8RElWPj xGT05UIHNpemU9Mj5za2ZqYXNmPC9GT05UPjwvRElWPg0KPERJVj48Rk9 OVCBzaXplPTI+weO148DWttO1xNK70KnKssO0uOjU2jwvRk9OVD48L0RJ Vj48L0JPRFk+PC9IVE1MPg0K ------=_NextPart_000_0016_01C30275.811BAE50-- . [在此输入 回车 . 回车 ] 250 OK aMAZAPuU8kNXMAIA.28499S2 以上为完整的手工登录163的发信服务器,并且发送一份简单邮件的过程,其中蓝色的为手工输入部分,底下的邮件内容可以在把以上内容复制到剪贴板后,直接在命令提示符窗口直接点击鼠标右键即可。 如果以上步骤能正常处理到最后,一般邮件发送就成功了。 如果出现问题,中途一般会发生错误提示。 以163mx01.mxmail.netease.com为例,发生错误后,一般在输入 回车 点 回车 的结束指令后,会提示: 450 Requested action not taken:mx8, aMAZAPuU8kNXMAIA.28499S2, please try again,SCORE 或者类似的其他错误信息,但一般情况下,错误一般在DATA指令输入之前就会发生,如sina.com的邮件服务器,如果你的IP地址和HELO名不对应,在RCPT TO指令输入的时候就会提示错误信息并中断连接。一般来说,如果命令提示符直接发信操作都出现问题,不管什么类型的邮件服务器,都会和手工操作一样,发生同样的发信故障。这个提示的错误信息,就是一般在回退信中看到的错误信息了,具体的错误信息说明,可以通过英文字面意思或者参考 典型引起错误退信的原因 的相关章节。
__________________
陈彦博 邮件事业部 技术支持工程师 北京春笛网络信息技术服务有限公司 北京海淀区知春路23号863软件园量子银座903室 100191 电话:010-82356575-6023 传真:010-82356575-6004 手机:18622575102 电邮:chenyb@mailer.com.cn 网址:www.chundi.com QQ:1481461853 1650928809 |