muttを使用してGmailにログインしようとすると、account.gmail.comなどのURLを含む高速Web警告が点滅します。速すぎて見たりコピーしたりできません。これでログインに失敗したというメッセージが表示されます。
その間、Gmailから次のようなメールを受け取りました。
Google Account: sign-in attempt blocked
Hi Adam,
We recently blocked a sign-in attempt to your Google Account [[email protected]].
Sign in attempt details
Date & Time: Wednesday, December 10, 2014 11:55:21 PM UTC
Location: Utah, USA
If this wasn't you
Please review your Account Activity page at https://security.google.com/settings/security/activity to see if anything looks suspicious. Whoever tried to sign in to your account knows your password; we recommend that you change it right away.
If this was you
You can switch to an app made by Google such as Gmail to access your account (recommended) or change your settings at https://www.google.com/settings/security/lesssecureapps so that your account is no longer protected by modern security standards.
To learn more, see https://support.google.com/accounts/answer/6010255.
Sincerely,
The Google Accounts team
そのリンクに移動して「セキュリティレベルの低いアプリへのアクセス」を有効にすると、正常にログインできます。しかし、Gmailでセキュリティレベルの低いオプションを有効にせずにmuttを使用してログインする方法はありますか?
修正する:
私はmac os x Yosemiteを使用しており、mutt -vを実行すると、コンパイルオプションに+ USE_SSL_OPENSSLが含まれます。 Google 2段階認証プロセスを無効にします。アプリケーション固有のパスワードは使用しません。以下はメッセージです。ログインしようとすると、次のようになります。
Reading imaps://imap.gmail.com:993/INBOX...
Looking up imap.gmail.com...
Connecting to imap.gmail.com...
TLSv1.2 connection using TLSv1/SSLv3 (ECDHE-RSA-AES128-GCM-SHA256)
Logging in...
[WEBALERT https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt=AKgnsbsm0P......
この答えを見つけましたが、うまくいきません。https://stackoverflow.com/a/25209735/1665818
答え1
最後に、Googleの2段階認証プロセスを有効にし、muttでアプリケーション固有のパスワードを使用して動作するようになりました。
詳細は:
Googleアカウントで2段階認証プロセスが有効になっています。つまり、Googleにログインするときは、文字またはGoogle AuthenticatorアプリでPINを入力する必要があります。
その後、muttのアプリケーション固有のパスワードを取得する必要があります。アプリケーション固有のパスワードを生成できます。ここ。
次に、通常のパスワードではなく、アプリケーション固有のパスワードを使用してmuttにログインします。これでパスワードを入力する必要はありません。
答え2
〜のようにコメントの1つ同じだと言うGoogleはデフォルトでIMAP / SMTP PLAIN認証を使用するアプリをブロックし始めました。公式ブログの説明を読むことができます。GoogleはIMAP / SMTPプロトコルユーザーにOAuth 2.0に切り替えることを強くお勧めします。(XMPPもリストされているので(以前?)OSX iChatがどの時点でGTalkとの動作を停止するのか疑問に思います。)他にもいくつかの興味深い点があります。今回の変更理由の推測。この記事を書く時点で、逸話的なアンケートによると、
- Googleビジネスアカウントに慣れるこの質問を参照してください。パスワードベースのIMAP / SMTPログインを自動的に引き続き許可し、現在これを拒否する設定はありません(「古い」パスワードログインプログラムを使用しているすべての有料ユーザーに問題はありません。そうですか?)。
- 現在、ビジネスGoogleアカウントにパスワードベースのIMAP / SMTPログインを許可または無効にする(「セキュリティレベルが低いアプリケーション」)。長年にわたって使用されているGoogleアカウントは自動的にブロックをオフにすることができますが、これがすべての人に発生するわけではありません。
まず、Webブラウザを使用してGMailにログインし、同じコンピュータでmuttを使用してログインしようとしました。頑張ったTLSが常に使用されるようにmuttrc設定を変更してください。。私は試した認証コードリンクのロック解除。これはすべて私のバカに「許可されていない安全性の低いアプリケーション」GMailアカウントを使用させることができませんでした(しかし、他の状況ではログインの問題を解決する可能性があります)。あなたのオプションは次のとおりです。
- リクエストするにはGoogleアカウントを切り替えてください。2段階認証とアプリ固有のパスワード生成突然変異のため。
- mutt 1.11.0以降に切り替えるOAUTHBEARER サポートの構成。
- セキュリティレベルの低いアプリケーションへの接続を許可するGoogleアカウント設定を使用してください。
- OAuthを実行している別のIMAPクライアントに移動します。
(私の元の回答に投票した人 - ありがとう)
答え3
aharris88の説明によると、muttがGmailサーバーと通信するときに安全でない接続を使用したため、Gmailはmuttを介して自分のアカウントへのアクセスをブロックしました。これは、あなたのユーザー名とパスワードが暗号化されていない形式でローカルネットワークとインターネットを介して送信されることを意味します。通常、これは非常に悪い考えなので、可能であれば避けるべきです。 Gmail は mutt の接続試行を拒否し、これらの危険な設定を防止しようとします。 「セキュリティレベルの低いアプリケーションへのアクセス」を許可するようにGoogleアカウント設定を変更すると、この動作は無視されるため、muttは安全でない方法で接続できます。
1つの解決策は、Gmailに接続するときにTLSセキュリティを使用するようにmuttを設定することです。これにより、資格情報がプレーンテキストで送信されないため、Googleアカウント設定で「セキュリティレベルの低いアプリへのアクセス」を無効にできます。
TLSを使用するには、mutt設定ファイルを編集してください。(~/.muttrc)次のようなもの:
set realname = 'Your Full Name'
set imap_user = '[email protected]'
set smtp_url = "smtp://[email protected]:587/"
set spoolfile = imaps://imap.gmail.com:993/INBOX
set folder = "imaps://imap.gmail.com:993"
set record="+[Gmail]/Sent Mail"
set postponed="+[Gmail]/Drafts"
set header_cache="~/.mutt/cache/headers"
set message_cachedir="~/.mutt/cache/bodies"
set certificate_file=~/.mutt/certificates
# These two lines appear to be needed on some Linux distros, like Arch Linux
set ssl_starttls = yes
set ssl_force_tls = yes
また、次のコマンドを実行して、mutt がメッセージ情報をキャッシュし、証明書を保存するために使用するディレクトリとファイルを作成します。
mkdir -p ~/.mutt/cache/bodies
mkdir ~/.mutt/cache/headers
touch ~/.mutt/certificates
mutt設定ファイルの行3〜5は、muttにセキュリティポートとプロトコルを使用してGmailに接続するように指示します。必ずご記入ください。「あなたの名前」ライン1で交換「あなたのアカウント」2行と3行にあります。最後の2行はmuttが接続を保護することを強制し、いくつかのLinuxディストリビューションでは必要になるかもしれません。残りの設定は mutt が Gmail でうまく動作するようにする非常に一般的な設定です。
ほとんどのシステムにはすでにOpenSSLがインストールされていますが、システムにOpenSSL(または同様のもの)もインストールされている必要があります。
それでは始めましょう。 Gmailアカウントのパスワードを入力するように求められます。 Gmailサーバーから送信された証明書を受け入れるように求められます。受信トレイが表示されたら、すべての準備が完了しました!
それでも接続できない場合は、muttが安全に接続できない他の理由がある可能性があります。実行してみてください:mutt -v
muttバージョンとコンパイルオプションを表示します。出力のコンパイルオプションセクションでまたは+USE_SSL
同様の項目を見つけます。横にプラス記号が付いているエントリがない場合、muttはコンパイル後にTLSに接続できないため、再コンパイルする必要があります。+USE_SSL_OPENSSL
+USE_SSL_GNUTLS
もう1つの可能性は、OpenSSL(または同等のSSLパッケージ)がシステムにまだインストールされていないことです。インストール方法は、使用しているLinux/Unixディストリビューションによって異なります。ディストリビューションに関するガイドを検索してください。認証局を含む追加のパッケージをインストールする必要があるかもしれません。
一度作業した後にmuttを実行するたびにGmailパスワードを入力したくない場合は、Gmailパスワードを次のフォルダに直接保存できます。~/.muttrcファイルに次の行を追加します。
set imap_pass = 'yourpassword'
ただし、これはセキュリティリスクを引き起こすことに注意してください。、特に他のユーザーとシステムを共有する場合。これらのリスクを軽減するには、次の手順を実行します。~/.muttrc以下を実行しなければ読めません。
chmod 600 ~/.muttrc
これにより、root以外のユーザーとシステムで実行されているサービスは、~/.muttrcファイルに保存されているパスワードを読み取ることができません。
答え4
muttのアプリケーション固有のパスワードを生成します。 https://support.google.com/accounts/answer/185833 https://security.google.com/settings/security/apppasswords