FreeBSD 11.1 RELEASE - qmail - procmail
ウィルススキャンの結果ウィルス判定したものを破棄したり、あるメールアドレスからのメールを別のメールアドレスに転送したり、受信したメールの振り分けを行いたいことは多々あります。 「/home/ユーザ名/.qmail」に記述することであることである程度はできますが、少し応用の聞いた処理をしたいときは、「procmail」を使用します。 「procmail」のインストールは「初期設定」のところで一緒にインストールするように記述していますので、ここを読んだ方は既にインストール済かと思います。 (参考にしていたサイトがあったのですが、リンク切れになってしまいました)
4. スパムメールを転送する「SpamAssassin」を使用している場合、わたしは、スパムとみなしたメール受信専用のユーザをつくっておいてそこに集めるようにしています。誤認識する場合もあるので、その受信専用ユーザのメールをときどきチェックしています。
と記述します。
「SpamAssassin」でスパムと判断したメールにはヘッダに「X-Spam-Flag: YES」という行があるのです。
5. 詐称メールを転送するよく「docomo.ne.jp」「ezweb.ne.jp」「softbank.ne.jp」「yahoo.co.jp」「gmail.com」を名乗ったスパムメールが来ます。スパムと判定されないこともありますが、これを前項の「スパムメール受信専用メールアドレス」に転送するようにします。 この手のメールは、From のアドレスと Return-Path のアドレスが違っているのです。
これは「From」が「docomo.ne.jp」で「Return-Path」が「docomo.ne.jp」でなければ「スパムメール受信専用メールアドレス」へ転送するという設定です。
6. ブラックリストによる転送「SpamAssassin」からすりぬけても、ある特定のドメインから来るものは、確実にスパムであると判断できることがあります。 これを転送するとします。 /ディレクトリ/.blacklist というファイルを作成して、これにメールアドレスを1行に1アドレスずつ記述しておきます。 そして、レシピに以下のように記述します。
「* ? /bin/test -s $BLACKLIST」の行は、ブラックリストファイルの存在確認です。
「* ? (formail -x Received: -x ...」の行は、メールヘッダの「Received:」「From:」「Reply-To:」「Sender:」「Return-Path:」のいずれかにブラックリストに含まれるメールアドレスが存在するか?というチェックです。
存在すれば、「スパムメール受信専用メールアドレス」に転送することになります。
ブラックリストファイルに記述するメールアドレスは、部分文字列でも可能ですので、特定のドメインがわかっていれば、ドメインの文字列のみ記述しても OK です。
7. 日本語キーワードによる転送スパムメールの判断のひとつに「From:」や「Subject:」によって判断できるものがあります。 例えば、「From:」に「天野友二」という文字がはいっていたり、「Subject:」に「援助交際」という文字がはいっていればあきらかにスパムメールなわけです。 これを判定するには以下のように記述します。
「* ? echo "$MATCH" | ...」の行は、「Subject:」内の文字列をエンコードして「援助交際」という文字列が存在するか?という判断になります。
|
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |