下面的代码连接到Microsoft服务器(2010版本)。这是我遇到麻烦的地方。(它与其他用于测试的电子邮件服务器/本地邮件服务器一起工作)。对用户/密码进行验证,并为此目的进行硬编码,因此不会出现拼写错误。我在microsoft中使用这个电子邮件帐户,所以它在服务器端也是有效的。
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.错误非常明显,但我确信用户/pass是真实的,我尝试通过POP和POP_SSL连接,结果是一样的。我确实收到了欢迎消息,因此我知道服务器已经启动,并且支持POP3 3/POP3 3_SSL,并且端口是正确的(这是默认的)。我没有在任何防火墙/代理后面--服务器在同一个网络上。
什么是错误?是否有其他方法只使用POP3连接到Microsoft?(如有必要,IPMA)。
发布于 2015-12-28 10:28:42
看起来是错误--这不是编程错误。代码本身是正常的,无论是POP3还是POP3_SSL。
问题实际上是在没有在网络上进行身份验证的计算机上运行代码,因此exchange服务器不允许登录。
https://stackoverflow.com/questions/29096361
复制相似问题