Медленный Exchange Autodiscover в Outlook 2016
Функция автоматического обнаружения (Autodiscover) появилась еще в Exchange Server 2007. Основанная задача Autodiscover – возможность поиска почтовым клиентом почтового сервера Exchange и автоматического подключения почтового ящика. От пользователя Outlook нужно только указать свое email и пароль, все остальное Outlook при помощи Autodiscover выполнит сам.
При тестировании нового почтового клиента Outlook 2016 при внешнем подключении к Exchange было замечено, что автоматическая настройка клиента может занимать несколько минут (в нашем случае около 8 мин). Проблема заключается в том, что Autodiscover отрабатывает слишком долго.
Чтобы разобраться с проблемой, нужно понимать порядок работы Autodiscover. Для корректной работы автоматического обнаружения клиент любым доступным способом должен получить XML файл с настройками и автоматически настроится согласно этим параметрам.
Клиенты Outlook 2007 и выше при первоначальной настройке пытаются обнаружить файл Autodiscover.xml несколькими способами, порядок перебора которых жестко запрограммирован в Outlook. Последовательно перебираются следующие варианты:
- Поиск и обращение к записи SCP (Service Connection Point) в Active Directory (работает только на компьютерах в составе домена Active Directory)
- Обращение по HTTPS к корневому домену (определяется по SMTP адресу пользователя) по url адресу https://
.ru/Autodiscover/Autodiscover.xml - HTTPS запрос к записи Autodiscover домена (https://autodiscover.
.ru/Autodiscover/Autodiscover.xml) - Проверка локального XML файла
- HTTP перенаправление с http://
.ru/Autodiscover/Autodiscover.xml на HTTPS-сайт - Поиск в DNS-е SRV записи _autodiscover._tcp.
.ru - Кэшированные данные в профиле Outlook (Outlook 2013 и выше), при условии успешного предыдущего автообнаружения
Outlook последовательно перебирает эти методы, и если успешный ответ получен, дальнейшие проверки не выполняются. Если ни один из методов не вернул ответа, процедура Autodiscover считается проваленной.
Для доменной среды предпочтительный метод автообнаружения — Service Connection Point в Active Directory. Второй метод (HTTPS запрос с корню домена), практически не используется, но именно он и проверяется в первую очередь для внешних клиентов. Если адрес
Если запустить утилиту Test E-mail AutoConfiguration (средство Проверки автоконфигурации электронной почты), можно увидеть, что Autodiscover пытается выполнить 11 HTTPS запросов к http://
Чтобы убрать эту проблему, нужно чтобы имя домена вело на сайт или любой веб сервер с доступным 443 портом. В этом случае Outlook за несколько мгновений поймет, что этот способ автообнаружения не доступен и перейдет к следующему. Для этого в корне DNS своего домена нужно создать запись @, которая будет указывать на IP адрес вашего сайта.
Если этот способ по какой-то причине не применим, можно с помощью редактирования реестра заставить Outlook 2016 пропускать определенные типы проверок. Для этого в ветке HKEY_CURRENT_USERSOFTWAREMicrosoftOffice16.0OutlookAutoDiscover нужно создать ключ типа DWORD со значением 1. Возможные имена ключей (имена говорят сами за себя):
- ExcludeHttpsRootDomain
- ExcludeScpLookup
- ExcludeHttpsAutoDiscoverDomain
- ExcludeHttpRedirect
- ExcludeSrvRecord
- ExcludeExplicitO365Endpoint (довольно новый параметр, появился в Outlook 2016 версии 16.0.6741.2017, см. доп. информацию в статье MS Outlook 2016 постоянно запрашивает пароль )
Т.е. чтобы отключить 2 тип проверки (HTTPS запрос к корневому домену) нужно создать ключ с именем ExcludeHttpsRootDomain и значением 1.
Outlook 2010:
reg.exe add HKCUSoftwareMicrosoftOffice14.0OutlookAutoDiscover /v ExcludeHttpsRootDomain /t reg_dword /d 0x1 /f
Outlook 2013:
reg.exe add HKCUSoftwareMicrosoftOffice15.0OutlookAutoDiscover /v ExcludeHttpsRootDomain /t reg_dword /d 0x1 /f
Outlook 2016:
reg.exe add HKCUSoftwareMicrosoftOffice16.0OutlookAutoDiscover /v ExcludeHttpsRootDomain /t reg_dword /d 0x1 /f
Аналогично создается параметр с именем ExcludeHttpsAutoDiscoverDomain.
Таким образом, можно заставить Outlook 2016 пропускать все не доступные методы Autodiscover. В результате, при запуске Outlook эта проверка не будет выполняться, и сам процесс Autodiscover и первого запуска Outlook выполняться значительно быстрее.
Outlook
Медленный Exchange Autodiscover в Outlook 2016