抱歉我的英文。我使用imaplib进行电子邮件操作。我尝试保存身份验证,以保存我的密码。我找到了方法
IMAP4.login_cram_md5
但它是如何使用的?
这是我的例子
IMAP_SERVER = 'imap.gmail.com'
IMAP_PORT = '993'
IMAP_USE_SSL = True
class MailBox(object):
def __init__(self, user, password):
print("MailBox __init__")
self.user = user
self.password = password
if IMAP_USE_SSL:
self.imap = imaplib.IMAP4_SSL(IMAP_SERVER, IMAP_PORT)
else:
self.imap = imaplib.IMAP4(IMAP_SERVER, IMAP_PORT)
def __enter__(self):
print("MailBox __enter__")
self.imap.login_cram_md5(self.user, self.password)
return self
开始代码
class Main:
main_box = MailBox('asdasd@gmail.com', 'wqeqwdsadwqeq==')
main_box.__enter__()
我有错误
imaplib.error: Unsupported AUTHENTICATE mechanism. i188mb2545835lji
答案 0 :(得分:0)
您的服务器不支持CRAM_MD5。
在尝试使用扩展程序之前检查服务器的CAPABILITY:
> a CAPABILITY
< * CAPABILITY IMAP4rev1 UNSELECT IDLE NAMESPACE QUOTA ID XLIST CHILDREN X-GM-EXT-1 XYZZY SASL-IR AUTH=XOAUTH2 AUTH=PLAIN AUTH=PLAIN-CLIENTTOKEN AUTH=OAUTHBEARER AUTH=XOAUTH
< a OK Thats all she wrote!
Gmail支持验证方法XOAUTH2,PLAIN,PLAIN-CLIENTTOKEN,OAUTHBEARER和XOAUTH(以及基线非验证登录)。
PLAIN是标准配置。我不确定PLAIN-CLIENTTOKEN是什么。其余的是OAUTH的变种。