我有一个简单的SMTP服务器安装在Win2k3服务器上的IIS实例。 我想弄清楚为什么我的邮件已经停止中继,但显然我必须安装Exchange系统pipe理器来做到这一点? 一世
Exchange系统pipe理器与IIS SMTP服务无关。 令人高兴!
IIS SMTP服务通过IISpipe理器进行configuration。 如果它已经停止允许你通过它继电器,中继限制可能已经设置,以防止你。 不过,我不知道从命令行检查这些设置的方法。
你可以telnet到服务器的SMTP端口(默认是25,但可能不同),看看它是否响应250 OK。
如果没有,请从防火墙等开始。
我会使用一个名为blat的命令行电子邮件工具,来自www.blat.net。 发送电子邮件时,您可以使用-superdebugT选项,它将为您提供一个ascii转储Blat和SMTP服务器之间的数据。 这将显示发送到服务器的每个SMTP命令,并且是结果。
JohnThePro是正确的,你可以使用大多数操作系统内置的telnet客户端。 SMTP是一种简单的基于文本的协议,大多数服务器会在您input时耐心等待。 通常这会给你一个关于问题出在哪里的好主意。 尝试在命令行中input。
> telnet mail.contoso.com 25
以下是一个示例会话,其中来自服务器的响应以S:作为前缀S:用户input的文本以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 。
如果你能和服务器进行这个对话,你就会知道邮件消息至less已经到了。 如果仍然存在问题,您可能需要使用Wireshark等数据包嗅探工具来监视来自服务器的出站SMTPstream量,这可能会给您提供更多的线索。