我一直在使用Google 2 factor auth,并配置了多个应用程序。其中一个是offlineimap(我下载邮件),但当我使用mu4e撰写邮件时,我收到以下错误:
Sending failed: 534-5.7.9 Application-specific password required.
Learn more at 534-5.7.9
http://support.google.com/accounts/bin/answer.py?answer=185833
我配置了〜/ .authinfo.gpg(并且手动成功解密),我的〜/ .offlineimaprc调用get_password_emacs(我使用的示例可以找到here)。
我甚至试图跳过gpg片段以查看它是否有效,直接在〜/ .offlineimaprc中使用我的mu4e Google App密码,但我最终得到的结果相同。
我的〜/ .authinfo.gpg文件:(此处解密,删除敏感信息)
machine imap.gmail.com login me@gmail.com port 993 password GoogleAppPassword
machine smtp.gmail.com login me@gmail.com port 587 password GoogleAppPassword
我的〜/ .offlineimaprc文件:
[general]
accounts = Gmail
maxsyncaccounts = 3
pythonfile = ~/.offlineimap.py
[Account Gmail]
localrepository = Local
remoterepository = Remote
[Repository Local]
type = Maildir
localfolders = ~/Maildir
[Repository Remote]
remotehost = imap.gmail.com
remoteuser = me@gmail.com
remotepasseval = get_password_emacs("imap.gmail.com", "me@gmail.com", "993")
ssl = yes
maxconnections = 1
realdelete = no
holdconnectionopen = true
keepalive = 60
type = IMAP
和我的〜/ .offlineimap.py
#!/usr/bin/python
import re, os
def get_password_emacs(machine, login, port):
s = "machine %s login %s port %s password ([^ ]*)\n" % (machine, login, port)
p = re.compile(s)
authinfo = os.popen("gpg -q --no-tty -d ~/.authinfo.gpg").read()
return p.search(authinfo).group(1)
任何人都可以看到我遇到的问题吗?我已经验证〜/ .authinfo.gpg文件已成功解密,并且我的Google App密码正确无误。
感谢您的时间。
答案 0 :(得分:1)
直接在〜/ .offlineimaprc
中使用我的mu4e Google App密码
这正是问题所在。您不应该直接使用密码。对于不接受第二个因子令牌的旧应用程序,您需要使用特定于应用程序的密码。这是您通过此URL生成的密码:
https://security.google.com/settings/security/apppasswords
您使用生成的密码代替您的真实密码。但是,您应该注意,这些特定于应用程序的密码授予您对帐户的完全访问权限。因此,使用应用密码会大大降低您在帐户中启用双因素所带来的保护。