Я предполагаю, что ваша проблема в том, что ваш сервер обмена поддерживает только аутентификацию NTLM и не допускает аутентификацию в виде простого текста? Или вы можете не использовать правильное соглашение об имени пользователя. Например, вы можете попробовать использовать формат username @ domain, где domain - это внутренний домен NT, который может отличаться от вашего интернет-домена.
Если это так, ищите библиотеку, которая поддерживает NTLM.
Шаги для тестирования через telnet
Перейти к командной строке
тип: telnet my.server.com 110
вы должны получить ответ от вашего сервера обмена, как это
+ OK Готовый сервер Microsoft Exchange Server 2003 POP3 версии 6.5.7638.1 (my.server.com).
тип: CAPA
это должно вернуть список возможностей, которые поддерживает ваш сервер обмена.
CAPA
+ OK список возможностей следует
ТОП
USER
PIPELINING
EXPIRE НИКОГДА
UIDL
САСЛ НТЛМ
.
Обратите внимание, что мой не показывает PLAIN
Вот ответ от почтового сервера, который + OK Dovecot готов.
CAPA
+ OK
CAPA
ТОП
UIDL
RESP-КОДЫ
PIPELINING
STLS
USER
SASL PLAIN
.
Если ваш ответ не содержит PLAIN, остановитесь, так как вам нужна библиотека, поддерживающая SPA
тип: user myusername
ИЛИ ЖЕ
введите: user myusername@domain.corp, заменив domain.corp вашим доменом
Затем вы должны получить
+ OK
Тип: pass mypass
Вы должны получить ответ
+ OK
тип: список
Должен получить список писем. Это может помочь определить, связана ли ваша проблема с проблемой имени пользователя.