メールの処理
クライアントをDovecotサーバに接続したあとは、クライアント側ではなくサーバ側で受信メールの処理を行うことになる。これにより、どのクライアントで接続しているかを気にせずに、メールを処理できるわけだ。
サーバ側の処理の多くは、procmailというプログラムを使って行える。procmailでは、パターンを利用した設定言語を用いて、受信メールのあらゆる操作ができる。例として、SpamAssassinという別のプログラムを利用してprocmailによるスパムのフィルタリングを行ってみよう。
デフォルトではメールサーバにSpamAssasinがインストールされていないが、apt-getを使えばインストールできる。SpamAssasinを有効にするには、「/usr/share/doc/spamassassin/procmail.example」というファイルを、このフィルタを利用するユーザの「~/.procmailrc」ディレクトリにコピーする。コピーが済んだら、ファイルの先頭に次の行を追記する。
MAILDIR=$HOME/Mail
こうすると、procmailは指定したディレクトリを起点として、下位のフォルダやファイルを参照できるようになる。
す でに用意されている「.procmailrc」は、スパムをその確実性に応じて「almost-certainly-spam」と「probably-spam」という2種類のフォルダに隔離する。この「.procmail」ファイルにルールを追記すれば、それ以上の処理が可能になる。たとえば、次のルールは、「To:(宛先)」に“mail-list”を含むアドレスが指定されたメールを「Mail」ディレクトリの「Mail-List」フォルダに移動する。
:0: * O_mail-list Mail-List
procmailの設定言語は強力だが複雑だ。procmailのホームページには、さまざまなWebサイトへのリンクや、便利なprocmailのサンプル「レシピ」が掲載されているので、詳細はそちらを参照してほしい。
ローカルのメールインフラストラクチャの構築については以上だ。ローカルのIMAPサーバは強力で柔軟性が高く、小中規模グループにおけるメールのニーズに対応できる。セットアップが済めば、「/var/mail」ディレクトリと個々のユーザの「~/Mail」ディレクトリの適切なバックアップ以外のメンテナンスはほとんど不要だ。利用するコンポーネントはいずれも、十分な実績があり、柔軟なカスタマイズが可能なので組織の特定の要求にも対応できる。最初に少し手間をかければ、長期的に利用者のニーズに応えてくれるメールシステムを手にできるだろう。
