telnet SMTP的具体实现步骤(1)


telnet的功能很强大。尤其是在一些控制和管理方面的应用,更是得到了大家的喜爱。那么今天我们就讲解一下telnet SMTP的有关问题。您可以根据您遇到的问题类型选用以下适当的疑难解答步骤.例如,如果您在两台 Microsoft Exchange 2000 Server 服务器之间通过 SMTP 发送邮件时遇到问题,则可以通过在发送服务器上使用 Telnet 连接到目标服务器上的端口 25 来测试 SMTP 连接.或者,如果您在接收来自 Internet 的 SMTP 邮件时遇到问题,则可以按照本文中列出的步骤,测试驻留在 Internet 上但不在您的网络上的主机与您的 SMTP 服务器的连接.Microsoft 产品线中有 SMTP 的多个不同变体.Microsoft Windows 产品线的 SMTP 服务包含在 Internet 信息服务 (IIS) 中,而在 Microsoft Windows NT Server 4.0 中,SMTP 服务包含在 Option Pack 中.在较新版本的 Windows 中,IIS 已被集成到操作系统中,并且您可以使用"控制面板"中的"添加或删除程序"添加 IIS.此外,Exchange 2000 和 Microsoft Exchange Server 2003 都使用 IIS 中的现有 SMTP 服务及其他功能.Microsoft Exchange Server 版本 4.0、5.0 和 5.5 均包含它们自己的 SMTP 版本,所采用的形式为 Internet Mail Connector (IMC) 或 Internet Mail Service (IMS).注意:在 Exchange 5.0 及更高版本中,Internet Mail Connector (IMC) 被重命名为 Internet Mail Service.

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

您也可以具有运行 SMTP 服务的服务器计算机的完全限定域名 (FQDN) 或 IP 地址例如,10.120.159.1).如果服务器在您的组织中,您可能已经拥有这些信息.如果服务器是外部服务器,查找这些信息最简单的方法是使用 Nslookup.exe 以找到包含这些信息的 DNS 记录. 有关 NSlookup 的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:200525 使用 NSlookup.exe。有关如何获取 Internet 邮件交换器记录的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:203204 XFOR:如何获取 Internet 邮件交换器记录。

确保运行 SMTP 服务的服务器上已启动 SMTP.要测试 SMTP 是否已启动,您可以运行本文中列出的基本测试,并验证您是否会收到来自远程服务器的 220 消息.这还将验证 SMTP 是否正在运行.注意:有些telnet SMTP的应用程序要求您打开本地回显功能,以查看键入的命令.要在 Microsoft Telnet 会话中执行此操作,请在命令提示符处键入 set local_echo. Microsoft Windows XP 中,应键入 set localecho 而不是 set local_echo.

基本测试

按照下列步骤操作,以确保主机和远程 SMTP 服务器能够通信.如果在您键入以下任一命令之后,收到以下错误信息,则说明telnet SMTP服务器因为语法错误或命令错误而无法识别您所键入的内容:

  1. 500 Command not recognized 

检查该命令并再次键入它,或者验证您是否正在与 Microsoft SMTP 服务器直接通信.注意:Microsoft Telnet 不允许您使用 Backspace 键.如果在键入时出错,必须按 Enter 键,然后开始键入新的命令.在以下步骤中,您要从命令行中运行 Telnet.要打开命令行,请单击"开始",单击"运行",在"打开"框中键入 cmd,然后单击"确定".您可以通过使用以下格式的 Telnet 命令来启动 Telnet 会话:注意:在键入每行内容之后按 Enter 键.

telnet服务器名端口号

例如,键入:

  1. telnet mail.contoso.com 25 

注意:您可以将服务器名 替换为您要连接到的 SMTP 服务器的 IP 地址或 FQDN.记住在键入每个命令之后按 Enter 键.

如果该命令起作用,您将会收到来自 SMTP 服务器的类似以下内容的消息:

  1. ?/P> 
  2. 220 site.contoso.com Microsoft Exchange Internet Mail Connector <IMC 的版本号> 

注意:由于有许多不同版本的 Microsoft SMTP 或第三方 SMTP 服务器,因此您可能会收到来自接收服务器的不同的消息.不过,您肯定会收到包含服务器的 FQDN 和 SMTP 的版本的 220 消息.此外,所有版本的 Microsoft SMTP 在 220 消息中都包含"Microsoft"一词.

通过键入以下命令开始通信:

  1. EHLO test.com 

注意:您可以使用 HELO 命令,但是 EHLO 是扩展 SMTP 动词集中的一个动词,SMTP 的所有当前 Microsoft 实现都支持该动词集.除非您认为扩展 SMTP 动词有问题,否则最好使用 EHLO.

如果该命令成功,您会收到以下消息:

  1. ?/P> 
  2. 250 OK 

键入以下命令向接收telnet SMTP服务器通知邮件发件人:

  1. MAIL FROM:Admin@test.com 

注意:该地址可以是您想使用的任何 SMTP 地址,但是最好考虑以下问题:

有些 SMTP 邮件系统会基于 MAIL FROM:地址筛选邮件,并且会禁止某些 IP 地址连接到 SMTP 邮件系统,或者如果连接 IP 地址与 SMTP 邮件系统所在的域不匹配,它还会禁止该地址向 SMTP 邮件系统发送电子邮件.在本例中,该域是 test.com.

如果您在发送邮件时没有使用有效的电子邮件地址,您将无法确定在发送邮件时是否有问题,因为未送达报告 (NDR) 无法到达无效的 IP 地址.如果您使用有效的电子邮件地址,您将会收到来自 SMTP 服务器的以下消息:

  1. ?/P> 
  2. 250 OK - MAIL FROM Admin@test.com 

键入以下命令向接收telnet SMTP服务器通知邮件的收件人.


相关内容