以前 Debian 3.1(Sarge) が testing だったときに exim4 でどうにか aliases から pipe でメールを流す方法を見つけたんだけど、リリースされたらまた設定ファイルが変わっていて、どうも設定ファイルとドキュメントが一致していない感じ。例外的な処理を手で書き加えるような使い方は想定されていないと解釈した方がよさげなので、以前
pipe_transport = address_pipe
として
/etc/aliases
で
ADDRESS "| /usr/local/bin/COMMAND"
みたいにやってたのをやめることにした。exim は filter が充実してるからこっちを使え、こっちを使えとドキュメントでも盛んに言ってきているし、確かに /etc/aliases は使わない方が root 権限に頼らずにフィルタが書けて便利だし安全だ。
で、filter を有効にするにはどうしたらいいのか分からない。最初から有効になってるし off にする必要はないんだけど、なんだか気持ち悪い1。まぁどうせできるだけデフォルトの設定で運用しようって方針2なので、その辺をとりあえず置いておき、
- filter 用のアカウントを一つ作り
- .forward で filter 書きまくり
- (cron からのメールを処理するなら subject だけで判別してよさげ)
という形にスイッチした。気をつけなきゃいけないのは、
- -bf でテストするフィルタファイルも最初に # exim filter って書いてなきゃいけない
って辺りか。