Я пытаюсь настроить fetchmail для получения данных с моего рабочего сервера обмена (2007 г.) с помощью imap. Кажется, подключение выполняется нормально, но ни один из методов аутентификации не работает. Я пробовал ntlm и plain (это поверх ssl). Вот мой конфиг:
poll work.server.com proto imap username elarson password "secret" ssl
Есть идеи, что может пойти не так или как лучше настроить мой fetchmailrc?
Вы предоставляете имя пользователя в виде адреса электронной почты? Если нет, попробуйте. По крайней мере, у меня это работает на тестовой коробке.
Какое сообщение об ошибке вы получаете? Я использую следующие простые .fetchmailrc с сервером MS Exchange 2003, и он работает для меня.
poll exchangeserver.com protocol imap user 'username' with password 'password' is localuser here
Если ваш сервер Exchange поддерживает проверку подлинности NTLM и ваш fetchmail был скомпилирован с поддержкой NTLM, он автоматически попытается выполнить проверку подлинности. Вам не нужно использовать SSL, если вы этого не хотите. Для устранения неполадок вы можете сделать следующее:
$ fetchmail -c -v -f .fetchmailrc
fetchmail: --check mode enabled, not fetching mail
fetchmail: 6.3.21 querying server exchangeserver (protocol IMAP) at Thu 15 May 2014 17:44:23 BST: poll started
Trying to connect to 10.101.1.4/143...connected.
fetchmail: IMAP< * OK Microsoft Exchange Server 2003 IMAP4rev1 server version 6.5.7638.1 (vendac04.uk.venda) ready.
fetchmail: IMAP> A0001 CAPABILITY
fetchmail: IMAP< * CAPABILITY IMAP4 IMAP4rev1 IDLE LOGIN-REFERRALS MAILBOX-REFERRALS NAMESPACE LITERAL+ UIDPLUS CHILDREN AUTH=NTLM
fetchmail: IMAP< A0001 OK CAPABILITY completed.
fetchmail: IMAP> A0002 AUTHENTICATE NTLM
fetchmail: IMAP< +
fetchmail: IMAP> TlRMTVNTUAABAAAAB7IAAAgACAAgAAAAAAAAAAgAAABtcXVhcnR1cw==
fetchmail: IMAP< + TlRMTVNTUAACAAAACgAKADgAAAAFgoECNy9B3cvogQoAAAAAAAAAAHQAdABCAAAABQLODgAAAA9WAEUATgBEAEEAAgAKAFYARQBOAEQAQQABABAAVgBFAE4ARABBAEMAMAA0AAQAEAB1AGsALgB2AGUAbgBkAGEAAwAiAHYAZQBuAGQAYQBjADAANAAuAHUAawAuAHYAZQBuAGQAYQAFABAAdQBrAC4AdgBlA======
fetchmail: IMAP> TlRMTVNTUAADAAAAGAAYAEAAAAAYABgAWAAAAAoACgBwAAAAEAAQAHoAAAAQABAAigAAAAAAAABaAAAABYKBAmXV2xY4N1ZrMpuTF2h1NrogSCWInruidjikDq+AFjIuofC6nc73N4VSACT2iWo+cFYARQBOAEQAQQBtAHEAdQBhAHIAdAB1AHMAbQBxAHUAYQByAHQAdQBzAA==
fetchmail: IMAP< A0002 OK AUTHENTICATE completed.
fetchmail: IMAP> A0003 EXAMINE "INBOX"
fetchmail: IMAP< * 6723 EXISTS
fetchmail: IMAP< * 6 RECENT
fetchmail: IMAP< * FLAGS (\Seen \Answered \Flagged \Deleted \Draft $MDNSent)
fetchmail: IMAP< * OK [PERMANENTFLAGS ()] Permanent flags
fetchmail: IMAP< * OK [UNSEEN 6718] Is the first unseen message
fetchmail: IMAP< * OK [UIDVALIDITY 121712] UIDVALIDITY value
fetchmail: IMAP< A0003 OK [READ-ONLY] EXAMINE completed.
(...)
Чтобы проверить базовое соединение IMAP, вы можете telnet к порту IMAP (143) сервера Exchange, чтобы увидеть, работает ли ваше имя пользователя / пароль.
$ telnet exchangeserver 143
Trying 10.1.1.4...
Connected to exchangeserver.
Escape character is '^]'.
* OK Microsoft Exchange Server 2003 IMAP4rev1 server version 6.5.7638.1 (exchangeserver.localdomain) ready.
? login username password <--- TYPE IT AS IT IS SHOWN WITH QUESTION MARK
? OK LOGIN completed.
? logout <--- TYPE IT AS IT IS SHOWN WITH QUESTION MARK
Connection closed by foreign host.
Для получения дополнительной информации о вышеуказанном следуйте этот ссылка на сайт. Как только это сработает, вы можете убедиться, что ваш сервер Exchange принимает ваши учетные данные Windows по стандартному IMAP. Проверка подлинности NTLM от Microsoft будет использоваться fetchmail через IMAP при условии, что сервер Exchange будет анонсировать ее в своем ответе о возможностях. Пароль будет замаскирован и не будет передаваться по сети открыто.
НОТА: Ваш псевдоним Windows AD должен соответствие имя вашей учетной записи Windows AD, иначе IMAP не будет работать. Это была моя проблема, и нам потребовалось несколько часов, чтобы разобраться и исправить ее.