19.4.2.6. spam フィルター
Procmail は、新規の電子メールを受信すると Sendmail、Postfix、Fetchmail によって呼び出されるため、スパム対策の強力なツールとして使用できます。
これは、Procmail が SpamAssassin と併用された場合に特に有効です。これらの 2 つのアプリケーションを併用すると、スパムメールを迅速に特定して、並び替えまたは破棄できます。
SpamAssassin は、ヘッダー分析、テキスト分析、ブラックリスト、スパム追跡データベース、自己学習型 Bayesian スパム分析を使用して、迅速かつ正確にスパムの特定とタグ付けを行います。
spamassassin パッケージのインストール
SpamAssassin を使用するには、
root
で以下を実行し、spamassassin パッケージがシステムにインストールされていることを確認します。
~]# yum install spamassassin
yum を使用したパッケージのインストールは 「パッケージのインストール」 を参照してください。
ローカルユーザーが 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
デーモンを起動するには、以下のコマンドを入力します。
~]# service spamassassin start
システムの起動時に SpamAssassin デーモンを起動するには、Services Configuration Tool (system-config-services)などの initscript ユーティリティーを使用して
spamassassin
サービスを有効にします。サービスの起動と停止に関する詳細は、12章サービスおよびデーモン を参照してください。
Procmail が Perl スクリプトではなく、SpamAssassin クライアントアプリケーションを使用するように設定するには、
~/.procmailrc
ファイルの最上部付近に以下の行を追加します。システム全体の設定の場合は、/etc/procmailrc
に配置します。
INCLUDERC=/etc/mail/spamassassin/spamassassin-spamc.rc