Front page   Edit Freeze Diff Upload Copy Rename Reload   New List of pages Search Recent changes   Help   RSS of recent changes

技術文書/UNIX/bsfilter

Last-modified: Sat, 29 Jan 2011 15:27:49 JST (4322d)
Top > 技術文書 > UNIX > bsfilter

bsfilter とは EditEdit(GUI)

http://bsfilter.org/ で配布されている、メールがspamかどうかを自動判定するフィルタです。

インストール EditEdit(GUI)

例によって ports の mail/bsfilter から簡単にインストールできます。

設定や準備 EditEdit(GUI)

spam かどうかを覚えさせます。

% bsfilter --add-clean ~/Mail/clean/*
% bsfilter --add-spam ~/Mail/spam/*
% bsfilter --update

~/.bsfilter/bsfilter.conf を書きます。 /usr/local/share/examples/bsfilter/bsfilter.conf からコピーして書き換えるのが楽でしょう。

## example of bsfilter.conf
#jtokenizer kakasi # 'make WITH_KAKASI=yes install'
#jtokenizer MeCab # 'make WITH_MECAB=yes install'
spam-cutoff 0.6

## POP Proxy
## (bsfilter --pop --auto-update)
pop-server xxxxx.odn.ne.jp
pop-proxy-port 10110
pop-user xxxxxxxx
insert-flag
insert-probability

spam-cutoff の数字は spam かどうかを判定するしきい値なので状況に応じて適宜変えていいと思いますが、難しいのでそのままにしておきます。

insert-flag は MUA との連携で使います。

POP proxy として起動 EditEdit(GUI)

% bsfilter --pop --auto-update &

ログインしたときに自動的に起動するように、~/.xsession に書いています。

Mewでの設定 EditEdit(GUI)

POP の設定を変更して、起動した POP proxy に向くようにします。わたしはいくつかのアカウントを使い分けているので、 mew-config-alist の中で設定しています。

(setq mew-config-alist
 ((略))
  ("pop-server" . "localhost")
  ("pop-port" . "10110")
 ((略)))

~/.mew.el で設定を書いて終了です。

;; bsfilter
(defun mew-bsfilter (val)
  (let ((case-fold-search t))
    (if (string-match "Yes" val) "+spam")))
(setq mew-scan-fields (delete mew-spam: mew-scan-fields))
(setq mew-scan-fields (delete "Body" mew-scan-fields))
(setq mew-spam: "X-Spam-Flag:")
(setq mew-scan-fields (append mew-scan-fields (list mew-spam: "Body")))
(setq mew-inbox-action-alist
      '(("X-Spam-Flag:" mew-bsfilter)))

この設定は Mew4FAQ から頂いてきました。 POP してきたときに自動的に +spam フォルダへ refile されるようなマークが付けられるようになります。

Mew用のフロントエンド も入れるとさらに便利になると思いますが、今回はそこまではしていません。



URL B I U SIZE Black Maroon Green Olive Navy Purple Teal Gray Silver Red Lime Yellow Blue Fuchsia Aqua White