Ошибка аутентификации Gmail в Python imaplib

Я только что столкнулся с проблемой с 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']

Если аутентификация не поддерживается, как войти в систему?

Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
7
0
6 432
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Решение нашел на это полезное сообщение в блоге. Хотя 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')

Другие вопросы по теме