Назад | Перейти на главную страницу

Поддержка конвейерной обработки SMTP в Exchange 2010 работает некорректно

Я пытаюсь настроить 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 для правильной работы конвейерной обработки.

Интересно, так ли это? Я протестирую это вручную, но было бы неплохо и другие предложения.

Спасибо

Со мной это тоже происходит, отключение конвейерной обработки у меня сработало.

Set-ReceiveConnector "Connector Name" -PipeliningEnabled $false

Для меня отправитель был конвейерным Mail From, Rcpt To, затем Data. Exchange 2010 ответит на Mail From, Rcpt To, но нет data и отправитель получит возврат "Тайм-аут".

Я просто отключил конвейерную обработку на соединителе приема, чтобы обойти это с удовлетворительными результатами. Если я не услышу иное, я буду считать, что это ошибка в реализации конвейерной обработки Microsoft / реализации ESMTP в Exchange 2010.