◯NNIPFを見つけたのですが、若干使いにくかったので…。
- IPのデータを全部directoryに入れるってのはちょっと何なのでGDBMの方が…。
- フィルタはヘッダーにメッセージ書いてくれるだけの方がslocalとかprocmailとかで使いやすそうなので…。
- httpd立ち上がって無かったりすると使えないのはちょっと不便かも…。
- ブラウザ立ち上げるの面倒…。
- MH形式のメールファイルしか使わないし…。
等など気になったので、こんなんできました。
かなりのperl素人なのでお手柔かに。
ヘルプ:
NNIPF_MH version 0.01.
Usage: nnipfmh [ --good | --bad ][ --dir dirs.. | --file files.. ]
nnipfmh [ --quiet ][ --update ][ --dir dirs.. | --file files.. ]
nnipfmh [ --help ]
--good | -g regist good (HAM)
--bad | -b regist bad (SPAM)
--dir | -d set target directories
--file | -f set target files
--quiet | -q quiet output
--update | -u regist after check
--help | -h this message
●使いかた
1. ファイルヘッダにコンフィグがあるのでそこでディレクトリを設定して下さい。
2. fmta.lst を作成して自分が知っているMTAを全部書いて下さい。
それぞれ一行で記述(正規表現可)。
.*.example.co.jp
mail.example.com
※MTAOBで無ければならない理由がわからないので、知っているMTAを明記することにしました。これによって、オリジナルと違ってMTAOBを擬装したReceived:が書かれたspamが届いても、Received:リストの最初に不明なホストが現われたところで判断するので対処でき{ます,かもしれません}。
●例:
- スパムの登録(スパムメールが spam_directoryにある場合)
nnipfmh --bad --dir spam_directory
- ハムの登録(ファイル単位で登録する場合)
nnipfmh --good --file normalmail01 normailmail02
- MHコマンドから渡す場合
nnipfmh --file `mhpath last:50`
- フィルタとして使う
cat mail_file | nnipfmh
(ヘッダーの最後に「X-NNIPF-SPAM:」「X-NNIPF-SPAM-FLAG:」を追加します。)
- .forwardへ入れる
"| nnipfmh | /usr/bin/mh/slocal || exit 75"
●不具合等
そもそも、250行ぐらいしか無い即興ものなので気になる動作は自分で直して下さい。