SpamAssassin? + bsfilter + Postfix

前提条件

  1. Debian sarge
  2. spamc,bsfilterは、nobodyにより実行されるようにする。
  3. kakasi-dicがインストールされていること

/usr/local/bin/spamfilter.shの作成

  1. 内容は以下のとおり
 #!/bin/sh
 /usr/bin/bsfilter -a --config-file /etc/bsfilter.conf | /usr/bin/spamc -f | /usr/sbin/sendmail -f "$@" 
 exit $?
  1. このファイルをnobodyから実行できるようにする。
 # chown nobody.nogroup /usr/local/bin/spamfilter.sh
 # chmod 744 /usr/local/bin/spamfilter.sh

bsfilterの設定ファイルを作成

  1. /etc/bsfilter.confを作成
 homedir /home/bsfilter
 jtokenizer kakasi
 pipe
 insert-flag
 insert-probability

bsfilterの処理に必要なディレクトリの作成

 # mkdir /home/bsfilter
 # chown nobody.nogroup /home/bsfilter

SpamAssassin?の内部処理に必要なディレクトリの作成

  1. spamcを実行するユーザ(nobody)のホームディレクトリ(デフォルトでは/home)に.spamassassinというディレクトリを作成する必要あり。(chroot環境下でspamdが動作している場合は、spamdの
 # mkdir /home/.spamassassin
 # chown nobody.nogroup /home/.spamassassin

spamdがコンピュータ起動時に立ち上がるように設定する

  1. /etc/defaults/spamassassinのENABLEDを1にする。
 ENABLED=1

/etc/postfix/master.cfの変更

  1. smtpd(inet)の個所を変更し、spamfilterの行を追加する。
 smtp    inet    n       -       n       -       -       smtpd -o content_filter=spamfilter:
 spamfilter      unix    -       n       n       -       -       pipe
       flags=Rq        user=nobody     argv=/usr/local/bin/spamfilter.sh -f ${sender} -- ${recipient}

bsfilterに学習させる

  1. spamメールに対して、以下の処理をかける。
     $ BSFILTERHOME=/home/bsfilter bsfilter --add-spam /dir/to/spammail/*
  2. spam扱いしないメールに対しては、以下の処理をおこなう。
     $ BSFILTERHOME=/home/bsfilter bsfilter --add-clean /dir/to/cleanmail/*

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2004-09-23 (木) 17:48:39 (5233d)