设置 fetchmail 以从 Exchange IMAP 中提取

设置 fetchmail 以从 Exchange IMAP 中提取

我正在尝试设置 fetchmail,以便使用 imap 从我工作的 Exchange 服务器 (2007) 中提取数据。它似乎连接得很好,但似乎没有一种身份验证方法有效。到目前为止,我已经尝试了 ntlm 和 plain(它通过 ssl)。这是我的配置:

poll work.server.com proto imap username elarson password "secret" ssl

关于可能出现的问题或如何更好地配置我的 fetchmailrc,您有什么想法吗?

答案1

您是以电子邮件地址的形式提供用户名的吗?如果不是,请试一试。至少在测试箱中,这对我有用。

答案2

你收到的错误消息是什么?我使用以下简单.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 到 Exchange 服务器的 IMAP 端口 (143) 来查看您的用户名/密码是否有效。

$ 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 服务器通过标准 IMAP 接受您的 Windows 凭据。只要 Exchange 服务器在其功能响应中公布它,fetchmail 就会通过 IMAP 使用 Microsoft 的 NTLM 身份验证。密码将被屏蔽,不会通过网络明文发送。

笔记:您的 Windows AD 别名必须匹配您的 Windows AD 帐户名,否则 IMAP 将无法工作。这是我的问题,我们花了几个小时才弄清楚并修复它。

相关内容