27.5.2.6. spam フィルター
Procmail は、新規の電子メールを受信すると Sendmail、Postfix、Fetchmail によって呼び出されるため、スパム対策の強力なツールとして使用できます。
これは、Procmail が SpamAssassin と併用された場合に特に有効です。これらの 2 つのアプリケーションを併用すると、スパムメールを迅速に特定して、並び替えまたは破棄できます。
SpamAssassin は、ヘッダー分析、テキスト分析、ブラックリスト、スパム追跡データベース、自己学習型 Bayesian スパム分析を使用して、迅速かつ正確にスパムの特定とタグ付けを行います。
ローカルユーザーが SpamAssassin を使用する最も簡単な方法は、
~/.procmailrc
ファイルの最上部付近に以下の行を配置することです。
INCLUDERC=/etc/mail/spamassassin/spamassassin-default.rc
/etc/mail/spamassassin/spamassassin-default.rc
には、すべての受信メールに対して SpamAssassin を有効にする簡単な Procmail ルールが含まれています。電子メールがスパムであると判断された場合には、ヘッダー内でタグ付けされ、タイトルの先頭には以下のようなパターンが追加されます。
*****SPAM*****
電子メールのメッセージ本文にも、スパム診断の理由となった要素の継続的な記録が先頭に追加されます。
スパムとしてタグ付けされた電子メールをファイル保存するには、以下と同様のルールを使用することができます。
:0 Hw * ^X-Spam-Status: Yes spam
このルールにより、スパムとしてヘッダーにタグ付けされた電子メールはすべて、
spam
と呼ばれるメールボックスにファイルとして保存されます。
SpamAssassin は Perl スクリプトであるため、ビジー状態のサーバーではバイナリー SpamAssassin デーモン(spamd)およびクライアントアプリケーション(spamc)を使用する必要がある場合があります。ただし、SpamAssassin をこのように設定するには、ホストへの root アクセスが必要です。
spamd デーモンを起動するには、root で以下のコマンドを入力します。
service spamassassin start
システムの起動時に SpamAssassin デーモンを起動するには、Services Configuration Tool (system-config-services)などの initscript ユーティリティーを使用して
spamassassin
サービスをオンにします。initscript ユーティリティーの詳細は、18章 を参照してください。
Procmail が Perl スクリプトの代わりに SpamAssassin クライアントアプリケーションを使用するように設定するには、
~/.procmailrc
ファイルの最上部付近に以下の行を追加します。システム全体の設定の場合は、/etc/procmailrc
に配置します。
INCLUDERC=/etc/mail/spamassassin/spamassassin-spamc.rc