自宅サーバにGmailのメールを取り込めない現象がだいぶ前から起こっている。私はいくつもメールアドレスを持っており、Linuxサーバからfetchmailで複数アカウントのメールをPOP3で取り込み、それをWindowsやスマホからIMAPで読んでいるのだが、あるときからGmailのメールがfetchmailで取り込めなくなった。時々Googleから「信頼できない接続元からのログインをブロックしました」というエラーメールが来るようになった。どこからとも知れないfetchmailからのアクセスなぞ、怪しいことこの上なし、てなことか。
しかたがないので一時的に「安全性の低いアプリからの接続を許可する」という設定に変える。そうするとfetchmailで取り込めるので、Gmailを受信するとすぐに上記設定を「許可しない」に戻す、ということを時々やっている。ちょっと危険なことは承知である。
しかし今日は上記設定をやっても受信できない。
fetchmail: Authorization failure on xxxxx@gmail.com@gmail-pop.l.google.com fetchmail: For help, see http://www.fetchmail.info/fetchmail-FAQ.html#R15
と相変わらずログに出ている。上のURLのFAQを読んでも解決しない。なんでかなあ。
まあ、GmailはWebで見れるからそれでいいんだけど、Windowsのメールクライアント(Becky!)にすべてのメールを集約していると便利なので、やはりちょっと不便。WebのGmailだと、ときどき受信トレイを覗かないといけないし。
セキュリティと利便性はトレードオフ。しかたがないのかなあ。
<追記>
30分後にリトライしたら受信できた。もう何がなんだか。
<2020年3月4日にさらに追記>
次の手順でうまくいくことがわかった。
(1) Google の 2 段階認証を有効にする;
(2) fetchmail 用のアプリパスワードを生成する;
(3) そのアプリパスワードを .fetchmailrc に記述する.
具体的な手順は、以下のURLに載っていた。
http://fanblogs.jp/goodfornothing/archive/884/0
このサイトが消えたらわからなくなるので、具体的な手順の部分を引用。
(1) Google2段階認証プロセス から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
. . . .赤字の部分は自分の環境に合わせる。