Я только что столкнулся с проблемой с imaplib Python и механизмом аутентификации Gmail:
>>> import imaplib
>>> imap = imaplib.IMAP4_SSL('imap.gmail.com', 993)
>>> imap.authenticate('[email protected]', 'Bob Dole likes your style!')
Traceback (most recent call last):
...
imaplib.error: AUTHENTICATE command error: BAD ['TODO (not supported yet) 31if3458825wff.5']
Если аутентификация не поддерживается, как войти в систему?






Решение нашел на это полезное сообщение в блоге. Хотя Gmail не поддерживает АУТЕНТИФИКАЦИЮ, он поддерживает возможность ВХОДА, например:
>>> imap.login('[email protected]', 'Bob Dole likes your style!')
('OK', ['[email protected] authenticated (Success)'])
Для меня работает следующее:
srv = imaplib.IMAP4_SSL("imap.gmail.com")
srv.login(account, password)
Думаю, использование login() обязательно.
Вместо
>>> imap.authenticate('[email protected]', 'Bob Dole likes your style!')
использовать
>>> imap.login('[email protected]', 'Bob Dole likes your style!')
Это будет работать в Python
import imaplib
imap = imaplib.IMAP4_SSL('imap.gmail.com', 993)
imap.login('[email protected]', 'Bob Dole likes your style!')
Вам не обязательно также использовать номер порта, создание сеанса imap также будет работать следующим образом:
imap = imaplib.IMAP4_SSL('imap.gmail.com')