概要
getmailで受信するにあたってのいい感じの設定を考える。
一番シンプルな設定から徐々に設定を変化させていく。
getmail + maildrop + neomutt + msmtp の getmailからmaildropへ渡すところまで。
環境
Arch Linux
getmail 5.13
gnome-keyring 3.31.91
maildrop 3.0.0
getmailとは
名前の通りメールを受信するためのツール。
fetchmail を置き換えることを目指して開発されたらしい。
設定ファイルについて
$ locate getmailrc
/usr/share/doc/getmail-5.13/getmailrc-examples
$ head /usr/share/doc/getmail-5.13/getmailrc-examples
#
# This file contains various examples of configuration sections to use
# in your getmail rc file. You need one file for each mail account you
# want to retrieve mail from. These files should be placed in your
# getmail configuration/data directory (default: $HOME/.getmail/).
# If you only need one rc file, name it getmailrc in that directory,
# and you won't need to supply any commandline options to run getmail.
#
- getmailの設定ディレクトリは $HOME/.getmail/
- 1ファイル1アカウント
- 1アカウントだけだったら
- ファイル名は getmailrc とすればOK
- getmailコマンド実行時にオプションいらないよ
- つまり複数アカウントのときはオプションいるよ
設定ディレクトリを作る
$ cd $HOME
$ mkdir .getmail
多分いちばんシンプルな設定
$ cd $HOME/.getmail
$ vim getmailrc
[retriever]
type = SimplePOP3Retriever
server = pop.example.net
username = yourname
password = yourpassword
[destination]
type = Maildir
path = /home/yourname/Maildir/
パスワードは暗号化したい
gnome-keyringにパスワードを保存することでplain textでパスワードを保存しないようにします。Desktop Environmentがgnomeじゃなくても使える。
aurヘルパーはyayを使っています。
$ sudo pacman -S gnome-keyring --noconfirm
$ yay -S python2-gnomekeyring --noconfirm
$ getmail --store-password-in-keyring
実行したらgetmailrcのpassword行は消してOK
gnome-keyringの自動起動
.xinitrc で起動時に gnome-keyring-daemon を起動する。
dbus-update-activation-environment --systemd DISPLAY
eval $(/usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh)
export SSH_AUTH_SOCK
...
exec i3
getmailからmaildropへ
maildropで細かい振り分けを行うのでmaildropをインストール。
getmailで受信したメールをどこに送るのか、を設定するdestinationディレクディブを修正する。
$ yay -S courier-maildrop
$ which maildrop
/usr/bin/maildrop
$ vim $HOME/.getmail/getmailrc
[retriever]
type = SimplePOP3Retriever
server = pop.example.net
username = yourname
[destination]
type = MDA_external
path = /usr/bin/maildrop
getmailを実行するたびにメールを全部取得しようとするのを止める
[options]
read_all = false
これを設定すると $HOME/.getmail/oldmail-pop.example.com-port-username@example.com 的なファイルができてそこに受信したメールが記録されるっぽい
以上