Poplib Microsoft Exchange 登录错误

Poplib Microsoft Exchange logon error

我有以下代码连接到 Microsoft Exchange 服务器(2010 版)。 这是我遇到麻烦的片段。 (它与其他用于测试的电子邮件 servers/local 邮件服务器一起使用)。 user/password 经过验证,并且为此目的进行了硬编码,因此不会出现拼写错误问题。我在 Microsoft Outlook 中使用此电子邮件帐户,因此它在服务器端也有效。

self.connection = poplib.POP3_SSL('my.email.server')
self.connection.set_debuglevel(2)
print self.connection.getwelcome()
self.connection.user('myuser')
self.connection.pass_('mypassword')

结果如下:

+OK The Microsoft Exchange POP3 service is ready.
*cmd* 'USER myuser'
*put* 'USER myuser'
*get* '+OK\r\n'
*resp* '+OK'
*cmd* 'PASS mypassword'
*put* 'PASS mypassword'
*get* '-ERR Logon failure: unknown user name or bad password.\r\n'
*resp* '-ERR Logon failure: unknown user name or bad password.'
Traceback (most recent call last):
  File "getMail.py", line 237, in <module>
    start_deamon()
  File "getMail.py", line 229, in start_deamon
    deamon.process_email()
  File "getMail.py", line 63, in process_email
    self.connection.pass_('password')
  File "C:\Python27\lib\poplib.py", line 189, in pass_
    return self._shortcmd('PASS %s' % pswd)
  File "C:\Python27\lib\poplib.py", line 152, in _shortcmd
    return self._getresp()
  File "C:\Python27\lib\poplib.py", line 128, in _getresp
    raise error_proto(resp)
poplib.error_proto: -ERR Logon failure: unknown user name or bad password.

错误很明显,但我确定 user/pass 是真实的,我尝试通过 POP 连接,POP_SSL 结果是一样的。我确实收到了欢迎消息,所以我知道服务器已启动并支持 POP3/POP3_SSL 并且端口正确(默认)。 我不支持任何 firewall/proxy 服务器在同一网络上。

可能是什么错误?有没有其他方法可以仅使用 POP3 连接到 Microsoft Exchange? (或者如果需要的话 IPMA)。

看起来这个错误不是程序性的。代码本身对于 POP3 和 POP3_SSL 都是正确的。

问题实际上是 运行 机器上的代码未在网络上进行身份验证,因此交换服务器不允许登录。