本主题说明如何使用 Telnet 测试邮件服务器之间的简单邮件传输协议 (SMTP) 通信。默认情况下,SMTP 在端口 25 上进行侦听。如果在端口 25 上使用 Telnet,则可以输入 SMTP 命令用来连接到 SMTP 服务器,且可以将 Telnet 会话当做 SMTP 邮件服务器来发送邮件。您还可以查看连接过程和邮件提交过程中每个步骤是成功还是失败。
在以下方案中,您可能需要使用 Telnet 测试发往或来自 MicrosoftExchangeServer 组织中存在的传输服务器的 SMTP 通信:
本主题中的步骤表明如何使用 Microsoft Windows 中包含的组件 Telnet 客户端。第三方 Telnet 客户端可能需要不同于 WindowsTelnet 组件的语法。
[[18009]] 先决条件
将邮件发送到接受基本身份验证的接收连接器时,您必须有可将用于用户名和密码的文本字符串转换为 Base64 格式的实用程序。由于使用基本身份验证时,用户名和密码非常容易辨别,因此不建议使用无加密的基本身份验证。 |
[[18009]] 在 Windows Server 2008 中启用 Telnet 客户端
完成此步骤的***要求为 WindowsServer2008本地 Administrators 组的成员或等效身份。
在 WindowsServer2008 中,默认情况下禁用 Telnet 客户端。若要启用,请执行下列步骤:
[[18009]] 使用 Nslookup 查找 SMTP 服务器的 FQDN 或 IP 地址
若要使用 Telnet 端口 25 连接到目标 SMTP 服务器,必须使用 SMTP 服务器的完全限定域名 (FQDN) 或 IP 地址。如果 FQDN 或 IP 地址未知,查找此信息的最简便方法是使用 Nslookup 命令行工具查找目标域的 MX 记录。
尾随句点 (.) 表示 FQDN。使用尾随句点可防止无意中将为网络配置的默认 DNS 后缀添加到域名中。 |
fabrikam.com mx preference=10, mail exchanger = mail1.fabrikam.com fabrikam.com mx preference=20, mail exchanger = mail2.fabrikam.com mail1.fabrikam.com internet address = 192.168.1.10 mail2 fabrikam.com internet address = 192.168.1.20您可以将与 MX 记录关联的任何主机名或 IP 地址用作目标 SMTP 服务器。较低的***项值表示*** SMTP 服务器。您可以使用多个 MX 记录和不同的***项值,以实现负载平衡和容错。
组织的内部网络规定的防火墙或 Internet 代理限制可能会阻止您使用 Nslookup 工具查询 Internet 上的公用 DNS 服务器。 MX 记录不是 Exchange 组织内的内部邮件流绝对必需的。如果要在组织中查找任何集线器传输服务器或已订阅边缘传输服务器的 FQDN,则可以使用 Exchange 命令行管理程序中的下列命令:Get-ExchangeServer | where {$_.isHubTransportServer -eq $true -or $_.isEdgeServer -eq $true} | Format-List Fqdn,ServerRole 有关详细信息,请参阅 Get-ExchangeServer 和 管道传输。 |
[[18009]] 在端口 25 上使用 Telnet 测试 SMTP 通信
为了提供示例,下列步骤将使用下表中描述的值:
应始终使用有效的发件人电子邮件地址,以便将目标 SMTP 服务器生成的未送达报告 (NDR) 邮件传递给邮件发件人。 |
Telnet 客户端中的命令不区分大小写。为清晰起见,SMTP 命令动词均使用大写。
在 Telnet 会话中连接到目标 SMTP 服务器后,无法使用 Backspace 键。如果您在键入 SMTP 命令时出现错误,则必须按下 ENTER 键,然后再键入该命令。无法识别的 SMTP 命令或语法错误会导致类似下面的错误消息: |
500 5.3.3 Unrecognized command
键入 EHLO contoso.com 并按 Enter 键。
354 Start mail input; end with.
键入 主题:来自 Contoso 的测试,再按 ENTER 键。
Subject:
头字段和邮件正文间留一个空行。
250 2.6.0Queued mail for delivery
若要与目标 SMTP 服务器断开连接,请键入 QUIT 并按 Enter 键。您将收到与以下类似的响应:
221 2.0.0 Service closing transmission channel
若要关闭 Telnet 会话,请键入 quit 并按 Enter 键。
[[18009]] 评估 Telnet 会话的结果
针对以上示例中所使用的以下命令,本节提供有关这些命令响应的信息:
在 RFC 2821 中定义的三位数 SMTP 响应代码对于所有 SMTP 邮件服务器都相同。对于某些 SMTP 邮件服务器,文本说明可能稍有不同。在上一个示例中,目标计算机运行 ExchangeServer2010。 |
[[18009]] 打开 mail1.fabrikam.com 25
成功响应:220 mail1.fabrikam.com Microsoft ESMTP MAIL Service ready at
失败响应:Connecting to mail1.fabrikam.com...Could not open connection to the host, on port 25: Connect failed
失败的可能原因
[[18009]] EHLO contoso.com
成功响应:250 mail1.fabrikam.com Hello [
失败响应:501 5.5.4 Invalid domain name
失败的可能原因:域名中存在无效字符。或者,存在有关目标 SMTP 服务器的连接限制。
EHLO 是 RFC 2821 中定义的扩展的简单邮件传输协议 (ESMTP) 命令动词。ESMTP 服务器可在初始连接时公布其功能。这些功能包括其***的可接受邮件大小以及其支持的身份验证方法。HELO 是 RFC 821 中定义的旧版 SMTP 命令动词。多数 SMTP 邮件服务器都支持 ESMTP 和 EHLO。 |
[[18009]] MAIL FROM:chris@contoso.com
成功响应:250 2.1.0 Sender OK
失败响应:550 5.1.7 Invalid address
可能的失败原因:发件人的电子邮件地址中存在语法错误。
失败响应:530 5.7.1 Client was not authenticated
可能的失败原因:目标服务器不接受匿名邮件提交。如果您试图使用 Telnet 直接向集线器传输服务器提交邮件,则将收到此错误消息。
[[18009]] RCPT TO:kate@fabrikam.com NOTIFY=success,failure
成功响应:250 2.1.5 Recipient OK
失败响应:550 5.1.1 User unknown
可能的失败原因:指定的收件人在组织中不存在。
原文地址
查看更多相关文章
上一篇:网络购物 毒霸全程安保很给力