7

我刚刚遇到了 Python 的 imaplib 和 Gmail 的身份验证机制的问题:

>>> import imaplib
>>> imap = imaplib.IMAP4_SSL('imap.gmail.com', 993)
>>> imap.authenticate('bobdole@gmail.com', 'Bob Dole likes your style!')
Traceback (most recent call last):
  ...
imaplib.error: AUTHENTICATE command error: BAD ['TODO (not supported yet) 31if3458825wff.5']

如果不支持身份验证,如何登录?

4

4 回答 4

8

代替

>>> imap.authenticate('bobdole@gmail.com', 'Bob Dole likes your style!')

采用

>>> imap.login('bobdole@gmail.com', 'Bob Dole likes your style!')
于 2008-12-09T06:10:52.310 回答
2

以下对我有用:

srv = imaplib.IMAP4_SSL("imap.gmail.com")
srv.login(account, password)

我认为使用login()是必需的。

于 2008-12-09T06:10:34.183 回答
0

我在这篇有用的博客文章中找到了解决方案。尽管 Gmail 不支持 AUTHENTICATE,但它支持 LOGIN 功能,如下所示:

>>> imap.login('bobdole@gmail.com', 'Bob Dole likes your style!')
('OK', ['bobdole@gmail.com authenticated (Success)'])
于 2008-12-09T06:10:14.247 回答
0

这将在 Python 中工作

import imaplib imap = imaplib.IMAP4_SSL('imap.gmail.com', 993) imap.login('bobdole@gmail.com', 'Bob Dole likes your style!')

您也不一定需要使用端口号,创建 imap 会话也将像这样工作: imap = imaplib.IMAP4_SSL('imap.gmail.com')

于 2018-04-05T07:05:06.117 回答