Debianでメールを一元管理する複数あるメールアドレスのメールを玄箱で全て受信し、IMAPを使うことでメールはサーバに保存します。ついでにSPAMを判定しSPAMを削除する手間を軽減しようと思います。構築する環境は、次のようなイメージになります。fetchmailでメールを受信します。受取ったメールをexim4へ渡し各ユーザーへ配信します。exim4からprocmailへメールを渡します。procmailで振り分ける直前にspamassassinでSPAM判定を行います。SPAM判定した結果をメールのヘッダに追加し、procmailへ返します。SPAM判定された内容を確認し、procmailを使って任意のディレクトリへメールを振り分けます。メールは、doveot(IMAP)を通じてクライアントとの処理を行います。fetchamailの設定fetchmailにメールを受信するよう設定します。fetchmailの設定は、ユーザーディレクトリの.fetchmailrcに作成します。フォワードするユーザー名パスワード等、重要な内容を記述するためパーミッションを変更しておきます。.fetchmailrcfetchmailコマンドを実行し、受信できることを確認したら定期的に受信するようcronを設定します。/dev/nullprocmailの設定procmailのレシピにprocmailのレシピにspamassassinを通すよう設定します。procmailの設定は、ユーザーディレクトリの.procmailrcに行います。/usr/bin/spamassassinメールクライアントで受信中、エラーが発生したため念のため、ロックファイルを指定しました。/usr/bin/spamassassinspamassassinをデーモンとして使用する場合、/usr/bin/spamassassinを/usr/bin/spamcとします。spamassassinの処理後、ヘッダのX-Spamを確認しSPAM判定されたものをSPAMディレクトリに振り分けます。spamassassinspamassassinが最初に起動すると、ユーザーディレクトリに.spamassassinディレクトリを作成します。ディレクトリ内には、次のようなファイルが作成されます。auto-whitelistbayes_seenbayes_toksuser_prefsspamassassinの設定は、大きく分けて2つあります。すべてのユーザーに対して設定される/etc/mail/spamassassin/local.cfとユーザー毎に設定するuser_prefsがあります。検索してみると、user_prefsは先駆者が作成したファイルと差し替えることで運用開始時からある程度スパムの判定をしてくれるようになるようです。user_prefsとりあえず私の環境では、今後の勉強のためにコツコツと設定したいと思います。初期状態で作成されるファイルは、次のように作成されます。状態でもSPAM判定は行われるので、メールを受信しヘッダを確認します。ヘッダに次のように追加されていれば動作しています。