設定したメールアカウントは次の4つです。
- Gmail
- IMAPで扱う独自のアカウント
- POPで扱う独自のアカウント(二つ)
(require 'nnir)
(setq gnus-ignored-newsgroups "^to\\.\\|^[0-9. ]+\\( \\|$\\)\\|^[\"]\"[#'()]")
(setq gnus-select-method '(nnnil))
(add-to-list
'gnus-secondary-select-methods
'(nnimap "gmail"
(nnimap-address "imap.gmail.com")
(nnimap-server-port 993)
(nnimap-stream ssl)
(nnir-search-engine imap)))
(add-to-list
'gnus-secondary-select-methods
'(nnimap "myaccount1"
(nnimap-address "myimapserver1.example.jp")
(nnimap-server-port 993)
(nnimap-stream ssl)
(nnir-search-engine imap)))
(add-to-list
'gnus-secondary-select-methods
'(nnml ""))
(setq mail-sources
'((pop :server "mypopserver2.example.jp"
:port 995
:user "mypopuser2"
:authentication apop
:stream ssl
:leave t
)
(pop :server "mypopserver3.example.jp"
:port 995
:user "mypopuser3"
:authentication apop
:stream ssl
:leave t
)))
(setq nnmail-split-methods
'(("myaccount2" "^X-Gnus-Mail-Source: pop:mypopuser2@mypopserver2\\.example\\.jp$")
("myaccount3" "^X-Gnus-Mail-Source: pop:mypopuser3@mypopserver3\\.example\\.jp$")
("unknown-source" "")))
Gnusでは情報源は gnus-select-method
と gnus-secondary-select-methods
に設定します。 なぜか同じような機能のものが二つあるのですが、おそらく最初は gnus-select-method
だけがあって、後から複数の情報源を設定出来る gnus-secondary-select-methods
を追加したのではないでしょうか? 今回はリストで複数設定出来る gnus-secondary-select-methods
のみを使います。 gnus-select-method
には nnnil
を設定して無効化しました。ネットニュースを読むならニュースサーバをここに設定しても良いと思います。
nnimap
で指定したIMAPサーバ上のメッセージは、手元にファイルをダウンロードすることなく読むことが出来ます。
nnml
、mail-sources
で指定したPOPサーバ上のメッセージは、 ~/gnus/Mail/ (デフォルトだと~/Mail/)にダウンロードしてから読むことになります。
mail-sources
に複数のアカウントを指定した場合、全アカウントのメールが全て一箇所にまとめられてしまうようでした。なので nnmail-split-methods
で振り分けの設定をしています。幸い X-Gnus-Mail-Source
というヘッダーがついていたのでそれで振り分けられました。何かもう少しうまい仕組みがあれば良いのですが……。グループパラメータの mail-source が使えるかなとも思ったのですがそちらは試していません。
POPでメールをサーバに残すには :leave t
を指定します。これが無いと受信したメールはサーバから削除してしまうので注意してください。整数で日数を指定することも出来るようです。
POPのパスワードは .authinfo(や.authinfo.gpg)にあらかじめ書いておくことをおすすめします。どこにも書かなければアクセス時にミニバッファで聞かれますが、自動的に .authinfo に保存してくれませんでした。 nnimap
の場合は保存してくれたのですが。
IMAP(nnimap
)のパスワードも .authinfo に保存します。あらかじめ書かなくてもミニバッファで聞かれたときに入力すれば自動的に保存されました(むしろ下手に書いて形式に間違いがあってハマりました)。
Gmailで二段階認証している場合等はアプリパスワードを発行する必要があると思います。