メンテナンス・トラブルシュート - メールサーバ - procmail - リストを作成する

クラウディア 
1. リストを作成する
2. 注意

1. リストを作成する

 「SpamAssassin」からすりぬけてもある特定のドメインから来るものは、確実にスパムであると判断できることがあります。これを転送するとします。  「.blacklist」というファイルを作成して、これにメールアドレスを1行に1アドレスずつ記述しておきます。  レシピに以下のように記述します。

BLACKLIST=/ディレクトリ/.blacklist

# ブラックリストのメールアドレスが含まれていたら スパムメール受信専用メールアドレス  に転送する
:0
* ? /bin/test -s $BLACKLIST
* ? (formail -x Received: -x From: -x Reply-To: -x Sender: -x Return-Path: -x From | fgrep -iqf $BLACKLIST)
! 転送先メールアドレス
 「* ? /bin/test -s $BLACKLIST」の行は、ブラックリストファイルの存在確認です。  「* ? (formail -x Received: -x ...」の行は、メールヘッダの「Received:」「From:」「Reply-To:」「Sender:」「Return-Path:」のいずれかにブラックリストに含まれるメールアドレスが存在するか?というチェックです。  存在すれば、「スパムメール受信専用メールアドレス」に転送することになります。  ブラックリストファイルに記述するメールアドレスは、部分文字列でも可能ですので、特定のドメインがわかっていれば、ドメインの文字列のみ記述しても OK です。

2. 注意

 ただし、このブラックリストの表現は、正規表現が使用できません。  正規表現が使えれば、もっと便利なのですが、正規表現を必要とするようなレシピは、べたに書くしかないようです。