Exchange 2003 и AUTH Login
В продолжение предыдущей темы.
Недавно мне довелось перенастраивать почтовый сервер Exchange 2003 (в составе Small Business Server). Проблема заключалась в том, что интернет провайдер решил больше не предоставлять своим клиентам SMTP Relay для отправки почты.
Не велика проблема, подумал я, перенастроим на SMTP-сервер хостера интернет-домена, с авторизацией. Не тут-то было. Первый хостер не разрешал отправку почты от имени, не совпадающем с авторизованным пользователем. Второму хостеру было все равно, что указано в “mail from” после успешной SMTP авторизации, однако именно с ним и произошла «загадка».
Итак, хостер поддерживает отправку почты с авторизацией plain text. Настроить Exchange для отправки почты с авторизацией не сложно – на соответствующем коннекторе (и/или виртуальном сервере SMTP) необходимо указать smart host, а в Outboud security установить авторизацию plain text. Перезапускаем Virtual Mail Server (или из командной строки делаем iisreset – надежнееJ )
И.. не работает. Смотрим журнал – ничего интересного, журнал в точности как при диалоге с первым хостером, только при авторизации возвращается ошибка Invalid command:
Журнал в формате NCSA
217.112.42.215 – OutboundConnectionResponse [27/Nov/2008:16:31:37 +0300] «- -?220 mx7.valuehost.ru ESMTP ready SMTP» 0 32
217.112.42.215 – OutboundConnectionCommand [27/Nov/2008:16:31:37 +0300] «EHLO -?y.dyndns.org SMTP» 0 4
217.112.42.215 – OutboundConnectionResponse [27/Nov/2008:16:31:38 +0300] «- -?250-mx7.valuehost.ru SMTP» 0 20
217.112.42.215 – OutboundConnectionCommand [27/Nov/2008:16:31:38 +0300] «AUTH – SMTP» 0 4
217.112.42.215 – OutboundConnectionResponse [27/Nov/2008:16:31:38 +0300] «- -?500 5.5.1 Invalid command SMTP» 0 25
Из Windows Mail отправка работает, проверено. Из командной строки – работает.
Exchange не отправляет.
Я установил Microsoft Network Monitor и увидел гораздо больше, нежели пишет в лог Exchange.
Оказывается, при авторизации AUTH LOGIN, Exchange в соответствии с RFC 4954 (http://tools.ietf.org/html/rfc4954) использует опциональный параметр initial response, и передает имя пользователя в одной строке с командой AUTH LOGIN. Не смотря на то, что такое взаимодействие предусмотрено стандартом, сервер хостера его не поддерживал.
Если вы попробуете авторизоваться на вашем Exchange, то можете убедиться в том, что сам сервер подерживает оба способа передачи имени пользователя. Но передается почта только с использованием initial response.
Я нашел одно полезное сообщение про эту проблему http://www.tech-archive.net/Archive/Exchange/microsoft.public.exchange2000.protocols/2004-04/0010.html , где сотрудник Microsoft подтверждает наличие проблемы, и даже возможность существования патча от PSS, изменяющего поведение Exchange, однако, поскольку проблема не в Exchange, предлагает решать ее с владельцем не совместимого с RFC сервера.
Что же, именно так и следует поступить.
Комментарии (5)
Other Links to this Post
RSS-лента комментариев к этой записи. TrackBack URI
By Julia, Июнь 28, 2010 @ 3:57 пп
Добрый день!
Поделитесь, пожалуйста, как Вам удалось заставить Exch прелагать метод PLAIN?
By gotch, Июнь 28, 2010 @ 5:33 пп
Примерно вот так:
http://gotch.techfaq.ru/wp-content/uploads/2010/06/exch03out.png
By gotch, Июнь 28, 2010 @ 5:35 пп
Или так http://gotch.techfaq.ru/wp-content/uploads/2010/06/exch03out1.png
В зависимости от того, в какую сторону авторизуетесь.
By Julia, Июль 1, 2010 @ 9:15 дп
посмотрю, спасибо!!!
By Julia, Июль 1, 2010 @ 9:16 дп
у меня exch 2007, предложенные варианты пробовала – метод plain не выдает.