我刚刚遇到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']
如果不支持身份验证,请如何登录?
答案 0 :(得分:8)
而不是
>>> imap.authenticate('bobdole@gmail.com', 'Bob Dole likes your style!')
使用
>>> imap.login('bobdole@gmail.com', 'Bob Dole likes your style!')
答案 1 :(得分:2)
以下适用于我:
srv = imaplib.IMAP4_SSL("imap.gmail.com")
srv.login(account, password)
我认为需要使用login()
。
答案 2 :(得分:0)
我在this helpful blog post找到了解决方案。虽然Gmail不支持AUTHENTICATE,但它确实支持LOGIN功能,如下所示:
>>> imap.login('bobdole@gmail.com', 'Bob Dole likes your style!')
('OK', ['bobdole@gmail.com authenticated (Success)'])
答案 3 :(得分:0)
这将在Python中运行
import imaplib
imap = imaplib.IMAP4_SSL('imap.gmail.com', 993)
imap.login('bobdole@gmail.com', 'Bob Dole likes your style!')
您也不一定需要使用端口号,创建imap Session也会像以下一样工作:
imap = imaplib.IMAP4_SSL('imap.gmail.com')