ぼくは、メーラー (MUA) に Mew を、スパム・フィルターに bsfilter を使ってる。
bsfilter はベイジアン・フィルタという種類のスパム・フィルター。Ruby で書かれていて、日本語が通る。ベイジアン・フィルタの詳しい説明は、Wikipedia の説明を参照されたし。
bsfilter のインストールは、本体 (bsfilter) をパスの通った場所に置くだけ。ここまでは簡単。問題は、Mew からどうやって bsfilter を使うか。これにはいくつか方法があって、ぼくは mew-absfilter.el というのを使ってる。
mew-absfilter.el
mew-absfilter.el は Mew から bsfilter を呼び出すツール。次のサイトから手に入る。
Mew でメールを取得すると、自動的に bsfilter を呼び出しスパム・フィルターを実行。スパムには ; というマークを付ける。x で ; マークの付いたスパムは削除される。ユーザーとしては、特に何もすることがないので便利。
時々、フィルターを潜り抜けるスパムがあったり、誤判定されたメールがあるので、フィルターに学習させなきゃいけない (まぁ、100% は、どんなツールでも無理だしね)。とりあえず、次の二つのキー操作を覚えておけばいい。
- b s
- このメッセージをスパムとして学習させる
- b c
- (; マークのついたメッセージに対して) このメッセージはスパムじゃないと教える
インストールは簡単。mew-absfilter.el を load-path 下に置いて、mew.el に次の二行を追加するだけ。
(require 'mew-absfilter) (mew-absfilter-mode 1)
Mew 4.2.53 より新しいバージョンで...
Mew 4.2.53 より新しいバージョンで mew-absfilter.el を使うと、スパム学習のキー操作でエラーになる。というのも、Mew 4.2.53 以前は mew-expand-folder という関数でフォルダーもファイルも扱っていたのを、フォルダーは mew-expand-folder で、ファイルは mew-expand-file で扱うようにしませう。という風に変わったから。
簡単なパッチを書いたので、開発版 Mew で mew-absfilter.el を使う方はどうぞお使い下さい。
--- mew-absfilter.el.org 2005-05-17 11:54:00.000000000 +0900 +++ mew-absfilter.el 2006-04-05 12:18:08.742847765 +0900 @@ -224,7 +224,9 @@ (when (mew-sumsyn-match mew-regex-sumsyn-short) (let* ((msg (mew-sumsyn-message-number)) (case:folder (mew-sumsyn-folder-name)) - (file (mew-expand-folder case:folder msg))) + (file (if (fboundp 'mew-expand-file) + (mew-expand-file case:folder msg) + (mew-expand-folder case:folder msg)))) (when (eq (mew-summary-get-mark) mew-absfilter-mark-spam) (mew-summary-undo)) (unless mark-only @@ -239,7 +241,9 @@ (when (mew-sumsyn-match mew-regex-sumsyn-short) (let* ((msg (mew-sumsyn-message-number)) (case:folder (mew-sumsyn-folder-name)) - (file (mew-expand-folder case:folder msg))) + (file (if (fboundp 'mew-expand-file) + (mew-expand-file case:folder msg) + (mew-expand-folder case:folder msg)))) (mew-absfilter-summary-spam-one) (unless mark-only (mew-absfilter-add-spam (list file))
No comments:
Post a Comment