【システムアカウント宛】(vpopmail仮想アカウントではない)

/home/hoge/bsfilter をおいておき実行フラグを立てる。

鍛えた.bsfilterを /var/tmp/.bsfilter に置いて
chmod 777 .bsfilter
cd .bsfilter
chmod 666 *
しておく。

cd /home/hoge
ln -s /var/tmp/.bsfilter .bsfilterとリンクを張る。

.procmailrc の内容

LOGFILE=/dev/null
#LOGFILE=$HOME/procmail.log
MAILDIR=$HOME/Maildir

:0fw
| $HOME/bsfilter --auto-update --pipe --insert-flag --insert-probability

:0
$HOME/Maildir/


.qmail の内容

|IFS=' '&& exec /usr/local/bin/procmail -f-||exit 75 #

にしておく。

これで .qmailを見て、到着したメイルは全てprocmailに渡り.procmailrc(レシピ)に沿って処理。
レシピは
・ログは取らない
・全てのメイルは$HOME/bsfilterに渡されフラグ付加後、$HOME/Maildir/ 以下に配送される。
全部配送するのではなくSPAM用のアカウントなどに振り分けることもこの後のレシピに追記することにより可。


【vpopmail仮想アカウント宛】

/home/vpopmail/.bsfilter (学習DBディレクトリ)
/home/vpopmail/bsfilter (実行スクリプト)

を置いて vpopmail:vchkpwの持ち物にしておく。(ディレクトリはchown -R オプションを付けること)

/home/vpopmail/domains/hoge.com/.user1procmailrc

#LOGFILE=/dev/null
LOGFILE=$HOME/domains/hoge.com/procmail.log
MAILDIR=takamura/Maildir

:0fw
| $HOME/bsfilter --auto-update --pipe --insert-flag --insert-probability

:0
$HOME/domains/hoge.com/user1/Maildir/

をこのように設定し、
.qmailには
|IFS=' '&& exec /usr/local/bin/procmail -m ./.user1procmailrc -f-||exit 75 #

と書いておく。-m ./.user1procmailrcと言うのがミソ。 これを書かないと$HOME/.procmailrcを読みにいくので動かない。

それにつけてもアカウントごとに .user1procmailrcを書かなきゃならんとは実に面倒。もっと楽な方法は無いものか。。。