IT猫扑网文章教程

分类分类

Telnet连接SMTP服务器的端口测试

2015-06-28 00:00作者:网管联盟

很多设置中,都包含了多种协议的调配。就如同我们今天将要讲解的Telnet连接到SNMTP服务器的端口一样。那么如何解决这个问题呢?下面我们就来详细讲解一下如何telnet到运行简单邮件传输协议 (SMTP) 服务的计算机上的端口 25,以解决SMTP通信问题.默认情况下,smtp 侦听端口 25.

您可以根据您遇到的问题类型选用以下适当的疑难解答步骤.例如,如果您在两台 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应用程序要求您打开本地回显功能,以查看键入的命令.要在 Microsoft Telnet连接中执行此操作,请在命令提示符处键入 set local_echo.

在 Microsoft Windows XP 中,应键入 set localecho 而不是 set local_echo.

基本测试

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

500 Command not recognized

检查该命令并再次键入它,或者验证您是否正在与 MicrosoftSMTP服务器直接通信.

注意:Microsoft Telnet不允许您使用 Backspace 键.如果在键入时出错,必须按 Enter 键,然后开始键入新的命令.

在以下步骤中,您要从命令行中运行 Telnet.要打开命令行,请单击&开始&,单击&运行&,在&打开&框中键入 cmd,然后单击&确定&.

您可以通过使用以下格式的Telnet命令来启动Telnet连接的会话:

注意:在键入每行内容之后按 Enter 键.

Telnet服务器名端口号

例如,键入:

Telnetmail.contoso.com 25

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

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

220 site.contoso.com Microsoft Exchange Internet Mail Connector <IMC 的版本号>

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

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

EHLO test.com

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

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

250 OK

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

MAIL FROM:Admin@test.com

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

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

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

250 OK - MAIL FROM Admin@test.com

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

注意:最好始终使用要发送到的域中的有效收件人SMTP地址.例如,如果您要发送到 john@domain.com,必须确保域中存在 john@domain.com.否则,您会收到 NDR.

使用您要发送到的人员的SMTP地址键入以下命令:

RCPT TO:User@Domain.Com

您会收到以下消息:

250 OK - Recipient User@ Domain.Com

键入以下命令通知SMTP服务器您已准备好发送数据:

DATA

您会收到以下消息:

354 Send data. End with CRLF.CRLF

您现在已可以开始键入邮件的 822/2822 部分.用户将会在他们的收件箱中看到邮件的这一部分.键入以下命令以添加主题行:

Subject:test message

按两次 Enter 键.此命令不会显示任何信息.

注意:按两次 Enter 键为了与 Request for Comments (RFC) 822 和 2822 保持一致.它规定 822 命令后面必须跟一个空行.

键入以下命令以添加邮件正文:

This is a test message you will not see a response from this command.

在下一个空行中键入英文句点 (.),然后按 Enter 键. 您会收到以下消息:

250 OK

键入以下命令关闭连接:

QUIT

您会收到以下消息:

221 closing connection

验证收件人是否收到您发送的消息.如果在应用程序事件日志中出现任何错误事件消息,或者接收邮件时出现问题,请检查主机的配置或通信.

高级测试

除本文前面列出的基本测试步骤外,您还可以使用送达回执对邮件进行双向测试.您可以使用此方法验证SMTP服务器是否可以接受入站连接,并且为发件人生成一个送达回执以测试SMTP服务器的出站连接.

要为测试邮件请求送达回执,请参见本文&基本测试&一节的第 4 步,以确保提供的信息是可以接收送达回执的有效电子邮件地址.然后在本文&基本测试&一节的第 5 步中,在Telnet连接会话中键入以下命令:

RCPT TO:User@Site.Domain.Com notify=success,failure

展开全部

相关文章

说两句网友评论
    我要跟贴
    取消