我创建了Django项目,在这个项目中,我有一个时刻,它通过XOAUTH2
在gmail
中进行身份验证。这段代码在本地工作(如果我创建python项目并运行它):
is_authenticate = False
imap_conn = imaplib.IMAP4_SSL(host='imap.gmail.com', port=993)
imap_conn.debug = 4
try:
imap_conn.authenticate(mechanism='XOAUTH2', authobject=lambda x: auth_string)
is_authenticate = True
except BaseException as e:
print(e)
return is_authenticate
但在Django项目中,我有一个例外:
AUTHENTICATE命令错误:BAD [b '无效的SASL参数。n1mb22847377ltj']
这是调试信息:
06:55.79 > b'HLKK1 AUTHENTICATE XOAUTH2'
06:55.86 < b'+ '
06:55.86 write literal size 304
06:56.05 < b'+ eyJzdGF0dXMiOiI0MDAiLCJzY2hlbWVzIjoiQmVhcmVyIiwic2NvcGUiOiJodHRwczovL21haWwuZ29vZ2xlLmNvbS8ifQ=='
06:56.05 write literal size 304
06:56.24 < b'HLKK1 BAD Invalid SASL argument. n1mb22847377ltj'
06:56.24 BAD response: b'Invalid SASL argument. n1mb22847377ltj'
1条答案
按热度按时间bttbmeg01#
你打电话来的时候
auth_string
值/您的authobject
函数不能执行任何base64编码。底层的imaplib
库为您执行base64。