独自のスパムメールフィルタ

おそらくどこかのサイト登録で漏洩したメールアドレスに対するスパムメールが半端なく多い。
レンサバで運用しているドメインへのメールなのだが、レンサバでのスパムチェックでは殆ど効果がない。
VPSに転送して、こちらでチェックしてスパムは捨てることにしていたのだが、しばらくするとすり抜けて受信してしまうメールも出てくる。
せめてメールはdkimパスさせろよというのが自分の考え方なので、メールヘッダのauthentic情報にdkim=passが含まれないもので、スパムメールにありがちなキーワードがタイトルに含まれるものはメールサーバから削除するpythonスクリプトを改造した。
以前のスクリプトではスパムメールをチェックしてくれるサイトに送信ドメインが登録されているかをチェックしていたのだが、どうやらそのURLは使えなくなっていて全くチェックできない状況だった。
以前もdkim=passをチェックしようとしたのだが、メールヘッダの要素がどうすれば取り出せるのか解らなかったので、実装していなかったのだが、ヘッダ要素を指定して認証情報だけが取り出せるようになった。
加えてサブジェクトのエンコードをnkfのシステムコールで実施していたのが、ハマらないケースもあったのだが、こちらも簡単にutf8にエンコードできるようになった。
これで認証とサブジェクトキーワードチェックが正確にできるようになったことから再度スパム破棄のスクリプトを実装した。
メールサーバから完全に削除するので、登録したキーワードをサブジェクトに含むメールがどのくらい届いているのかはわからないのだが、スパムでないメールを再チェックしないようにDBでチェックしたメールのuidl情報を管理しているので、スパムキーワードもDB管理すれば、どのキーワードでどのくらいスパムメールが送られてきているのかもわかるようにはできる。
今はスパムキーワードはスクリプトにハードコーディングしているので、キーワードが増えていくとソースも見づらくなってくる。
改良の余地はありそうだが、dbツールからキーワード登録するのも何だか今ひとつ。
かと言って、メンテナンス用の画面を作るのも、セキュリティを考えると面倒くさい。