courier-imap + fetchmail + maildrop + bsfilter で IMAP 環境
現在のところ,Thunderbird で迷惑メールフィルタを使ってつつがなく使えているのですが,ローカルな IMAP 環境を作ってみようと思いました。Gmail 時代にあまり意味がない話かもしれません。
アーキテクチャとしては,
- プロバイダ(社内メールサーバ)から POP3 経由で fetchmail でメールをとってくる
- bsfilter で SPAM をフィルタリング(filtering mode)
- maildrop で Maildir に配信
- Courier IMAP サーバに Thunderbird からアクセス
- 誤判定メールを手で再判定フォルダに振り分け
- 再判定フォルダに bsfilter でアクセスして再配置(command + IMAP mode)
てな感じです。
まずは Courier 系のインストール。Courier Mail Server をインストールしてもいいんですがどうせ Web Mailer は使えないので使いたいコンポーネントだけ自力でインストールします。
- courier-authlib
- maildrop
- courier-imap
すべて spec ファイルが付属しているんでそれを ~/rpmbuild/SPEC に放り込んでビルドします。依存するパッケージをいれとけばいいんですが,わかりにくいのが,libtool-ltdl-devel と gamin-devel を入れる必要があるところです。後者は libfam の後継らしいです。
あと,courier-imap.spec で Courier IMAP をそのままインストールすると /usr/lib/courier-imap 以下にガツンとインストールされてしまうのでそれはないだろうというのと,日本語での検索ができなくなってしまうので,下記のようなパッチをあてました。
--- courier-imap.spec.dist 2007-03-08 14:26:06.406383129 +0900 +++ courier-imap.spec 2007-03-08 18:20:58.725511489 +0900 @@ -52,5 +52,5 @@ %define _mandir %{_prefix}/man -%define _prefix /usr/lib/courier-imap +%define _prefix /usr/share/courier-imap %define _localstatedir /var/run @@ -82,5 +82,5 @@ %if %(test '%{xflags}' = '%%{xflags}' && echo 1 || echo 0) -%define xflags --enable-unicode=iso-8859-1,utf-8 +%define xflags --enable-unicode %endif
ほんとは普通の prefix にインストールしたいんですが imapd だの pop3d だの平凡な実行ファイル名なので遠慮しているんでしょう,おそらく。
以後明日以降へ続きます。