以下は、bsfilter をインストールし、 mew で利用する際のメモ書きである。 なお、メールの受信は fetchmail で行い、スパムとハムの振り分けは procmail で行うことを想定しているため、mew で行うのは bsfilter のデータベース の更新のみである。
Debian GNU/Linux の Sarge では、deb パッケージになっているので、 以下のコマンドでインストールされる。
# apt-get install bsfilter
いくつかの ruby ライブラリもインストールされる。
bsfilter の clean なデータベースを作成する. とりあえず 研究室関連のメールと, (それだけだと英語に関するものが弱そうなので) cvs commit メールを登録する.
$ bsfilter --add-clean ~/Mail/yyhlab/* $ bsfilter --add-clean ~/Mail/yyhlab/y2003/* $ bsfilter --add-clean ~/Mail/gtool4-cvs-commit/* $ bsfilter --add-clean ~/Mail/dcpam-cvs-commit/*
次に spam データベースを作成する. bsfilter で紹介される Linux-usersメイリングリストのspamをかき集めたもの をダウンロードし, それを spam として登録する.
$ mkdir bsfilter_spam ; cd bsfilter_spam $ wget http://www.flcl.org/~yoh/spam9xxxx.tar.gz $ tar xvfz spam9xxxx.tar.gz $ bsfilter --add-spam ?????
最後に clean/spame な確率を求める.
$ bsfilter --update
データベースはデフォルトでは ~/.bsfilter ディレクトリに作成される. これをバックアップを取っている ~/Documents 領域へ移動し, シンボリック リンクをはる.
$ mv ~/.bsfilter ~/Documents/bsfilter $ ln -s ~/Documents/bsfilter ~/.bsfilter
bsfilter を mew で利用する方法に関しては bsfilter with mew を参照のこと。
mew に必要なファイルを emacs lisp のパスの通った場所に置く。 ここでは ~/.site-lisp/bsfilter というディレクトリを作成して、 その下に置く。そこへのパスは後で ~/.emacs に記述する。 なお、必要なファイルは bsfilter パッケージをインストールした時点で /usr/share/doc/bsfilter/examples/mua/mew3/ に置かれる。 (バージョンが違うと異なる場合があるので注意)
$ mkdir ~/.site-lisp/bsfilter $ cd ~/.site-lisp/bsfilter $ cp /usr/share/doc/bsfilter/examples/mua/mew3/* ./
コピーされるうち、bs_clean, bs_mark, bs_spam はシェルスクリプト。 mew.el は emacs lisp である。
mew.el は bsfilter.el と改名する。
$ mv mew.el bsfilter.el
パスを通しても良いが、ここでは ~/bin 以下からシンボリックリンクをはる。
$ cd ~/bin $ ln -s ../site_lisp/bsfilter/bs_clean $ ln -s ../site_lisp/bsfilter/bs_mark $ ln -s ../site_lisp/bsfilter/bs_spam
mew.el の改名 で bsfilter.el を読み込むよう, ~/.mew.el に以下の行を追加
(setq bsfilter-filename "~/.site-lisp/bsfilter/bsfilter.el") (if (file-exists-p bsfilter-filename) (load-file bsfilter-filename))
bsfilter から提供されるデフォルトの mew.el (上記では bsfilter.el と リネームしたもの) では, bsfilter の --insert-flag オプションで追加される X-Spam-Flag ヘッダと --insert-probability オプションで追加される X-Spam-Probability が Summary-mode で Subject など よりも下に表示されるようになっている. もしも他のヘッダを 表示したい場合には, mew.el の以下の部分を編集すると良い.
デフォルトの mew.el (11 行目 〜 15 行目)
(setq mew-field-spec (reverse (append (list (car (reverse mew-field-spec))) '(("^X-Spam-Probability:$" t) ("^X-Spam-Flag:$" t)) (cdr (reverse mew-field-spec)))))
例えば X-Spam-Check や X-Spam-Probability-Plus という ヘッダを表示させたい場合には以下のように編集する.
(setq mew-field-spec (reverse (append (list (car (reverse mew-field-spec))) '(("^X-Spam-Check:$" t) ("^X-Spam-Probability-Plus:$" t)) (cdr (reverse mew-field-spec)))))
Summary モードで以下のコマンドにより bsfilter のデータベースを 更新できる. ( bsfilter with mew より抜粋)
Last Updated: 2005/07/04, Since: 2005/03/22 | mailto: |