Exchange 2010 SMTP 管道支持无法正常工作

Exchange 2010 SMTP 管道支持无法正常工作

我正在尝试配置 Sophos Appliance (SEA) 来处理反垃圾邮件。此服务的一部分是收件人验证,它会询问下游 MTA(在我们的例子中是 Exchange 2010)以查找有效收件人。

这似乎存在一个问题,与 Exchange 2010 无法正确处理管道 SMTP 命令有关。

SMTP 对话如下:

Escape character is '^]'.
220 <my domain> Microsoft ESMTP MAIL Service ready at Sun, 16 Nov 2014 14:07:15 +1100
EHLO <valid domain>
250-<my downstream server Hello [<an ip>]
250-SIZE
**250-PIPELINING**
250-DSN
250-ENHANCEDSTATUSCODES
250-STARTTLS
250-AUTH
250-8BITMIME
250-BINARYMIME
250-CHUNKING
250-XEXCH50
250 XSHADOW

然后,为了验证收件人,SEA 在单个数据包中发送以下内容(通过数据包跟踪验证

MAIL FROM:<a temp but valid email> SIZE=278
RCPT TO:<validrecipient> ORCPT=rfc822;validrecipient
RSET
QUIT

然而,Exchange 服务器似乎忽略了前 3 个命令,只响应了 QUIT

221 2.0.0 Service closing transmission channel

现在,我可以暂时关闭中间收件人验证,但更紧迫的问题是为什么 Exchange 不能正确支持流水线。一个想法是 RFC2920 第 4 节建议不能向 MAIL FROM 命令添加任何参数以使流水线正常工作。

不知道是不是这样?我会手动测试,不过如果有其他建议就更好了。

谢谢

答案1

我简单地禁用了接收连接器上的管道功能,解决了这个问题,结果令人满意。除非我听到其他消息,否则我会假设这是 Microsoft 在 Exchange 2010 中的管道实现/ESMTP 实现中的一个错误。

答案2

这也发生在我身上,禁用流水线对我有用。

Set-ReceiveConnector "Connector Name" -PipeliningEnabled $false

对我来说,发件人正在流水线传输Mail FromRcpt To,然后Data。 Exchange 2010 会回复Mail FromRcpt To,但不会data,并且发件人会收到“超时”退回邮件。

相关内容