Gmail の IMAP サーバー imap.gmail.com から fetchmail でメールを取得して, Emacs 上のメールクライアント Wanderlust で読む.
ところが今日ふと気がついたら, Gmail から fetchmail でメールが取得できなくなっている. 認証エラーである.
数日前に Google から届いた
"Google アカウントで見つかった 1 件のセキュリティの問題を解決してください"
というメールに対応したのが原因のようだ. 対応作業を行った後に再び Google から届いたメールに
アカウントに危険を及ぼすおそれのあるアプリからの Google アカウント
myGooglelAccountName@gmail.com へのログインをブロックしました。
とあるからだ. ここで書かれている アカウントに危険を及ぼすおそれのあるアプリ というのが fetchmail なのだ.
The Fetchmail FAQ I9 には
Google has started pushing towards more complex authentication schemes based on OAuth 2.0 that require clients and users to jump through quite a few hoops, and use web browsers for signing in. If this hinders access to your account through fetchmail, you may need to turn on access for "less secure apps" at https://www.google.com/settings/security/lesssecureapps.
とある.
つまり
Google がブラウザーからのサインインに用いる複雑な認証の仕組み OAuth 2.0 をメールにも採用した. もしこれが fetchmail を介しての Gmail アクセスに影響を及ぼすならば, "less secure apps" で 安全性の低いアプリ へのアクセスを有効にする必要がある.
ということらしい.
しかし, この対応はあまり行いたくない.
それでネットを検索したら以下のようなサイトが見つかった. ありがたい.
・ Fetchmail from Google's Gmail
・ fetchmail で Gmail を取得する
・ 少し古めのアプリやメーラーで Google や Gmail にログインできない場合の対処法
これらを読むと, Google の アカウント → ログインとセキュリティ の設定画面において次の操作を行えばよいことがわかる.
(1) Google の 2 段階認証を有効にする;
(2) fetchmail 用のアプリパスワードを生成する;
(3) そのアプリパスワードを
.fetchmailrc
に記述する.そこで実際にこれをやってみた.
(1) Google の 2 段階認証が有効になり, "アプリ パスワード" という項目が出現する.
(2) "アプリ パスワード" の画面に移動し "アプリを選択" のカラムに fetchmail と入力して "生成" ボタンを押す. 以下では, ここで生成された 16 文字のアプリパスワードを仮に "
fetchmailapppass
" とする.(3)
.fetchmailrc
に次のように記述する. password
で (2) で生成した fetchmail 用のアプリパスワードを指定している.
poll imap.gmail.com with proto imap
port 993
username "myGoogleAccountName@gmail.com"
password "fetchmailapppass"
ssl
keep
. . . .
これで fetchmail を起動したところ, 無事 Gmail からメールを取得できるようになった.
結局のところ, 現在の Emacs 上で Wanderlust を使ってメールを読むという習慣を続けられるようになっただけとも言える.
けれども, こういう古い道具を工夫して使うための手間をかけるのはそれなりに面白く楽しい.
【このカテゴリーの最新記事】
- no image
- no image
- no image
- no image
- no image
問題が解決して良かったです.
コメントをありがとうございました.