在默认情况下,使用telnet方式连接到Exchange 服务器是匿名的方式,也就是说没有经过身份验证。先介绍一下测试的环境,Exchange 服务器为2007 RTM,所在的域为exchange.com,服务器的IP地址为192.168.11.7,在默认的接收连接器上的Permission Group栏上的设置如图1所示。身份验证方法仅选中了基本身份验证,如图2所示。客户端的操作系统为Windows XP SP1。


一、匿名登录
1. 首先在客户端上打开命令行窗口,然后输入下面的命令回车,
telnet 192.168.11.7 25
2. 出现如图3所示的画面,然后输入下面的命令:

ehlo
3. 出现如图4所示的画面,然后输下面的命令告诉接收服务器该邮件来自哪个发件人:

Mail from:rock@exchange.com
4. 这时会出现如图5所示的界面,然后输入下面的命令:

Rcpt to:test@sohu.com
5. 系统出现550 5.7.1 Unable to relay提示,如图6所示,因为发件人没有经过身份验证,该邮件无法通过Exchange 2007服务器来中继。
6. 但是如果我们输入下面的命令,则不会收到图6所示的错误。

rcpt to:rock001@exchange.com
7. 您会收到如图7所示的界面,然后您可以输入下面的命令来告诉SMTP服务器您准备发送数据了。

data
您将收到下面的回复:
354 Send data. End with CRLF.CRLF
8. 现在您可以输入邮件的822/2822 部分了,用户将会在收件箱中看到该邮件的这部分内容。您可以输入subject来指定邮件的标题。
subject: test message
然后按两次回车,您将看不到任何回复。
9. 然后输入下面的内容来增加邮件的正文。
This is a test message you will not see a response from this command.
10. 在下一个空行中键入英文句点 (.),然后按 Enter 键。 您会收到
250 OK
如图7所示。
11. 然后输入下面的命令关闭连接。
quit
二、经过身份验证后的telnet
如何才让telnet 也能通过身份验证呢。下面将具体描述如何实现这一过程:
1. 首先前两个步骤和匿名一样,在输入telnet 192.168.11.7 25和ehlo命令,
2. 然后输入下面的命令:
auth login
回车后,您将看到334 VXNlcm5hbWU6,请注意,VXNlcm5hbWU6是基于base 64编码,我们可以通过一个名叫base64.exe的工具可以将它转为我们可以看懂的格式,该工具可以从Internet上下载。VXNlcm5hbWU6转化后为username:
该工具的使用方法如下:
a) 先将工具解压到本地文件夹,比如c:\base64,
b) 然后进入命令行模式,切换到该目录,然后将打开notepad,输入rock,并另存为1.txt,
c) 然后输入下面的命令:
Base64 –encode 1.txt 2.txt
注意:-encode表示加密,-decode 表示解密。如果您知道base64编码可以通过下面的命令来将它解密:
Base64 –decode 2.txt 1.txt
d) 打开2.txt文件,即可看到rock对应的base64编码为cm9jaw==。
3. 然后您需要输入用户的名称对应的base64编码格式,这里我们假设用户名为rock,rock的base64编码为cm9jaw==,输入下面的命令:
cm9jaw==
4. 回车后,您将看到334 UGFzc3dvcmQ6,UGFzc3dvcmQ6转换后的格式为password:
5. 假设用户rock的密码为1,1对应的base64编码为MQ==,然后输入:
MQ==
6. 回车后,您将看到235 2.7.0 Authentication successful的提示,说明认证成功了。如图8所示。

7. 然后输入下面的命令:
Mail from:rock@exchange.com
回车后,系统出现250 2.1.0 Sender OK提示,
8. 然后输入下面的命令:
rcpt to:test@sohu.com
回车后,系统会出现250 2.1.5 Recipient OK,而不会出现550 5.7.1 Unable to relay的提示。
通过身份验证的用户可以通过该Exchange 2007服务器来中继邮件。
9. 剩下的步骤和匿名登录中的7-11步一样。我们在此不在详细描述了。