我正在寻求一些帮助登录到一个Gmail帐户并使用python脚本下载一些电子邮件.我正在尝试调整此处找到的方法,但我遇到了第1步的问题,通过imap访问帐户.
这是我开始的代码:
import email
import imaplib
m = imaplib.IMAP4_SSL("imap.gmail.com",993)
rc, resp = m.login('myemailaddress','mypassword')
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Traceback (most recent call last):
File "email.py", line 1, in <module>
import email, imaplib
File "/home/will/wd/email.py", line 14, in <module>
m.login('myemailaddress','mypassword')
File "/usr/lib/python3.4/imaplib.py", line 538, in login
raise self.error(dat[-1])
imaplib.error: b'[ALERT] Please log in via your web browser: http://support.google.com/mail/accounts/bin/answer.py?answer=78754 (Failure)'
Run Code Online (Sandbox Code Playgroud)
确实在gmail设置中启用了Imap.我已经查看了谷歌支持链接上的说明以及类似情况下有关此错误的问题,例如此处和此处,但我的情况与第一次不同,因为
1)它从未开始工作,
2)我是不经常运行它被阻止.它也与第二个示例不同,因为这是一个普通的Gmail帐户,而不是具有谷歌应用程序帐户的自定义域.
使用https://accounts.google.com/DisplayUnlockCaptcha尝试并允许访问对我来说也不起作用.
允许登录工作的唯一方法是将我的Google帐户安全设置更改为"允许访问安全性较低的应用".
我的问题是:我如何修改我的代码(或更常见的设置)以允许我登录,而无需放宽我的帐户安全设置?有没有办法使用libimap满足安全要求?