从命令行检查 Windows 2003 SMTP 服务器?

从命令行检查 Windows 2003 SMTP 服务器?

我在 Win2k3 服务器上的 IIS 实例上安装了一个简单的 SMTP 服务器。我想弄清楚为什么我的邮件停止转发,但显然我必须安装 Exchange 系统管理器才能做到这一点?我

答案1

Exchange 系统管理器与 IIS SMTP 服务无关。很高兴!

IIS SMTP 服务是通过 IIS 管理器配置的。如果它不再允许您通过它进行中继,则中继限制可能已被设置以阻止您。不过,我不知道如何从命令行检查这些设置。

答案2

您可以通过 SMTP 端口 (默认为 25,但可能不同) telnet 到服务器,看看它是否以 250 OK 响应。

如果没有,请从防火墙等开始。

答案3

我会使用命令行电子邮件工具 blat,网址为 www.blat.net。发送电子邮件时,您可以使用 -superdebugT 选项,该选项将为您提供 Blat 和 SMTP 服务器之间的数据 ascii 转储。这将向您显示发送到服务器的每个 SMTP 命令及其结果。

答案4

JohnThePro 是对的,您可以使用大多数操作系统内置的 telnet 客户端。SMTP 是一种简单的基于文本的协议,大多数服务器都会耐心等待您输入。这通常可以让您很好地了解问题所在。尝试在命令行中输入此内容。

> telnet mail.contoso.com 25

下面是一个示例对话,其中服务器的响应以 为前缀S:,用户输入的文本以 为前缀C:

S: 220 mail.contoso.com ESMTP

C: EHLO myhostname
S: 250-mail.contoso.com
S: 250-8BITMIME
S: 250 SIZE 10485760

C: mail from:<[email protected]>
S: 250 sender <[email protected]> ok

C: rcpt to:<[email protected]>
S: 250 recipient <[email protected]> ok

C: data
S: 354 go ahead

C: Subject: test
C: 
C: test
C: .
S: 250 ok:  Message 378625388 accepted

C: quit
S: 221 mail.contoso.com

有关更多详细信息,请参阅 SMTP 标准,RFC 2821

如果你能够与服务器进行这种对话,你就知道邮件消息至少已经到达了那个程度。如果仍然有问题,你可能需要使用数据包嗅探工具,例如Wireshark监视服务器的出站 SMTP 流量可能会为您提供更多线索。

相关内容