我有一个在 Windows 2003 服务器(旧版)上使用 powermta 的邮件服务器。如果我通过 telnet 进入该服务器来测试 smtp 连接,它可以从其他 2003 服务器和运行 Windows 10 的开发机器上运行。我可以发出 ehlo 命令等。它们按预期返回。
如果我从 Windows 2008 服务器通过 telnet 进入它,我只会收到错误消息:
EHLO mailserver.com
500 5.5.1 command unknown in "XXXX XXXXXXXX"
上面的错误消息是逐字逐句的。从其他非 2008 机器发出命令时不会生成该消息。
我不知所措。我真正的问题是,我尝试配置的这台服务器上的发送方软件生成了相同的错误,尽管它不使用 telnet。服务器之间有一些差异。这是什么?
顺便说一句,我下载了一个 smtp 诊断工具,它可以从 2008 服务器成功发送。
答案1
这是你的防火墙。
yourfirewall# show running-config policy-map
yourfirewall# configure terminal yourfirewall(config)# policy-map global_policy yourfirewall(config-pmap)# class inspection_default yourfirewall(config-pmap-c)# no inspect esmtp
答案2
在发布我的问题之前,我花了几天的时间进行故障排除,并给 ISP 的网络人员打了 4 次电话,询问以下问题:
- 防病毒软件干扰端口 25 流量。网上有几篇关于此问题的帖子。
- 防火墙端口阻塞。很明显,但我排除了这个可能,因为我可以通过 telnet 连接,只是命令不起作用
- 数据包检查
每次我打电话,得到的答复都是“不,我们不会做任何这些事情”。我至少和 5 个人谈过。上次我打电话时,我让技术人员远程进入服务器,在通话时运行 telnet 命令并确认问题。从他自己的机器上,他通过 telnet 连接没有遇到任何问题。
他向我确认他们确实对 ESMPT 流量进行了某种阻止。我接受了上面的答案,但万一其他人看到这些命令未知问题,请向网络管理员咨询数据包检查策略。