金笛邮件论坛  

返回   金笛邮件论坛 > 开发者乐园 > 电子邮件系统技术交流

回复
 
LinkBack 主题工具 显示模式
旧 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
chyb 当前离线   回复时引用此帖
回复

书签

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码
Trackbacks are 启用
Pingbacks are 启用
Refbacks are 启用



所有时间均为北京时间。现在的时间是 20:58


Powered by vBulletin® 版本 3.8.3
版权所有 ©2000 - 2024,Jelsoft Enterprises Ltd.