courier-imap + fetchmail + maildrop + bsfilter で IMAP 環境

現在のところ,Thunderbird で迷惑メールフィルタを使ってつつがなく使えているのですが,ローカルな IMAP 環境を作ってみようと思いました。Gmail 時代にあまり意味がない話かもしれません。

アーキテクチャとしては,

  1. プロバイダ(社内メールサーバ)から POP3 経由で fetchmail でメールをとってくる
  2. bsfilterSPAM をフィルタリング(filtering mode)
  3. maildrop で Maildir に配信
  4. Courier IMAP サーバに Thunderbird からアクセス
  5. 誤判定メールを手で再判定フォルダに振り分け
  6. 再判定フォルダに bsfilter でアクセスして再配置(command + IMAP mode)

てな感じです。

まずは Courier 系のインストール。Courier Mail Server をインストールしてもいいんですがどうせ Web Mailer は使えないので使いたいコンポーネントだけ自力でインストールします。

すべて 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 だの平凡な実行ファイル名なので遠慮しているんでしょう,おそらく。

以後明日以降へ続きます。