2015-08-25 2 views
1

Я работаю над написанием простого скрипта для чтения непрочитанной почты из gmail через скрипт python. У меня есть следующий скрипт, но когда я запускаю скрипт python, я получаю ошибку IMAP, помеченную ниже. Любая помощь в этом вопросе приветствуется.Ошибка IMAP при доступе к gmail из командной строки

У меня включен IMAP в моих настройках gmail. Есть ли какая-либо другая конфигурация, которую мне нужно позаботиться, чтобы это работало?

import imaplib 
obj = imaplib.IMAP4_SSL('imap.gmail.com','993') 
obj.login('username','password') 
obj.select() 
obj.search(None,'Unseen') 

где username мой Gmail имя пользователя и password пароль для моего аккаунта Gmail.

Traceback (most recent call last): 
    File "test.py", line 3, in <module> 
    obj.login('[email protected]',password) 
    File "/usr/lib/python2.7/imaplib.py", line 519, in login 
    raise self.error(dat[-1]) 
imaplib.error: [ALERT] Please log in via your web browser:  
https://support.google.com/mail/accounts/answer/78754 (Failure) 
+2

Для диагностики проблемы существует [https://support.google.com/mail/accounts/answer/78754] [URL]. Вы посмотрели на этот список? Получили ли вы успешно доступ к GMail через IMAP с использованием существующего клиента IMAP (mutt/Apple Mail/Thunderbird/что-то еще)? – larsks

+0

Вы проверили https://support.google.com/mail/accounts/answer/78754? У вас есть два фактора авторизации? – Parker

+0

Нет, у меня нет двухфакторных автофокусов –

ответ

0

У меня была та же проблема. Я не уверен, какой шаг окончательно решить ее, но вот что я сделал:

  • Перейти на страницу настроек, включите IMAP и нажмите кнопку Сохранить изменения
  • Выйти и обратно в через веб-интерфейс
  • включить ' менее безопасно»в https://www.google.com/settings/security/lesssecureapps
  • Вход через imaplib (создать новый OBJ первый)

кажется, что после этого, вы можете снова отключить„менее безопасным“, и она до сих пор работает.

2

ответ видимого человека правильный. В качестве альтернативы, хотя вы можете переключить свой сценарий на использование Gmail API вместо IMAP. API Gmail использует OAuth 2.0 для аутентификации, что намного безопаснее. API Gmail также является гораздо более легким протоколом для работы, чем IMAP.