SpamAssassinは単に導入するだけで劇的な効果がありますし、sa-learn にて時々学習させてやればさらに制度が高くなるので、スパムが手元に届くことはほとんどなくなります。
が、何日かに一通はすり抜けて来るものがありまして、そのほとんどが日本語スパムなんですねー。まぁ日本語スパムといってもあまりにも高度なものはヘッダ部を除いて機械的には排除できないと思いますが、なんだかよくわかんないメルマガ風spamとかいわゆるえっちメールなんかは 出てくる単語を基準にして判定できそうな気がします。
ということで、今回のお題は NGワード方式 (笑)
procmailのレシピに書いた場合は通常「一発でアウト」になってしまいますので、ここでは SpamAssassin の加点に加えることにします。例えば $HOME/.spamassassin/user_prefs に
# 突然のメールのように追加すれば、「突然のメール」が本文に含まれたメールに関しては一点加算されます。たかが一点なのですが、通常へんてこメールには通常のメールではおおよそ使わないへんてこキーワードがたんまり書いてありますから、うまい具合にキーワードを選定してあげれば点数も割と高くなってNGワードだけでスパム基準の5点に達することもあるでしょう。
body NGWORD5 /\x46\x4d\x41\x33\x24\x4e\x25\x61\x21\x3c\x25\x6b/
describe NGWORD5 TOTSUZEN-NO-MAIL
score NGWORD5 1.0
ちなみに、普通のメールは本文が JIS になっていますから、上記では『突然のメール』のJISコードを調べるために
% echo -n "突然のメール" | nkf -j | hd
00000000 1b 24 42 46 4d 41 33 24 4e 25 61 21 3c 25 6b 1b
00000010 28 42
00000012
としています。始めと終りの3バイトは文字コード切り替えのためのエスケープシーケンスですからここでは読み飛ばしたものを転記します。
これでスパムの数がちょっと減ってくれれば・・・いいですね。加点方式ですから誤加点がおきてもさほど影響はないですし、そもそもスパムじゃないメールというのは点数がマイナスになっていることが多いので、誤ってスパム箱に行くことはあまりないでしょう。問題は NGワードが むむむ な言葉ばっかりなので、ここに掲載するのはちょっとマズいことぐらいか(^^;)。
# しかし、間違っても『女の子』とか『制服』とかを NGワードに