4

私はしばらくの間 Google 2 要素認証を使用しており、いくつかのアプリケーションを構成しています。それらの 1 つは 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 を呼び出します (使用した例はここにあります)。

~/.offlineimaprc で直接 mu4e Google アプリ パスワードを使用して、gpg の部分をスキップして機能するかどうかを確認しようとしましたが、同じ結果になります。

~/.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 アプリ パスワードが正しいことを確認しました。

御時間ありがとうございます。

4

1 に答える 1

2

~/.offlineimaprc で直接 mu4e Google アプリ パスワードを使用する

それがまさに問題です。パスワードを直接使用しないでください。第 2 要素トークンを受け入れないレガシー アプリケーションの場合は、代わりにアプリケーション固有のパスワードを使用する必要があります。これは、次の URL から生成するパスワードです。

https://security.google.com/settings/security/apppasswords

そして、生成されたパスワードを実際のパスワードの代わりに使用します。ただし、これらのアプリケーション固有のパスワードは、アカウントへのフル アクセスを許可することに注意してください。その結果、アプリ パスワードを使用すると、アカウントで 2 要素を有効にすることで得られる保護が大幅に低下します。

于 2014-09-30T03:50:56.180 に答える