我收到来自 Exchange 服务器的消息:“500 5.3.3 无法识别的命令”,并在 Exchange 服务器日志中看到它正在对我的 smtp 发件人进行 tarpitting,尽管事实如下:
我为我的 IP 添加了一个接收连接器,允许连接,使用“外部安全”
我运行了命令(使用实际的服务器名称):
代码:
Set-ReceiveConnector "MyTrusted connector (Servername)" -MaxAcknowledgementDelay 0
Set-ReceiveConnector "MyTrusted connector (Servername)" -TarpitInterval 0
尽管如此,它仍然失败了!知道哪里出了问题吗?
答案1
猜测它没有遵循协议协商的 RFC。也许它试图使用 ESMTP 命令而不使用 EHLO 之类的东西。
找出它试图做什么的更好方法之一是打开生成 500 错误的连接器的协议级日志记录。然后重试连接,如果出现错误,请深入研究日志文件(或在此处发布)以查看它试图做什么。因为无论它做什么,Exchange 都不喜欢它,这意味着您的服务器的行为与邮件服务器的正常行为相差甚远,非常特殊。
您可以打开协议级别的日志记录:
Set-ReceiveConnector "MyTrusted connector (Servername)" -ProtocolLogging Verbose
默认情况下,它会将文件放入C:\Program Files\Microsoft\Exchange Server\V14\TransportRoles\Logs\ProtocolLog\SmtpReceive
(或您安装 Exchange 的任何驱动器)。它会向您提供它正在尝试的完整 SMTP 对话,您的错误应该会在那里非常明显(或者对我们来说很明显)。