こんにちは。松田陽一 _at_ PAL-NET三鷹です。
procmail を使ったゴミメール (spam) フィルタソフト、 junkfilter が
バージョンアップしました。
リンク名 junkfilter : Junk Mail Filtering with Procmail
URL: http://junkfilter.zer0.org/
以前、
From: MATSUDA Yoh-ichi / 松田陽一 <matsuda _at_ palnet.or.jp>
Subject: [linux-users:88654] Re: procmail recipe (was Re: junkfilter)
Date: Sun, 21 Oct 2001 21:06:11 +0900
と
リンク名 junkfilter with fetchmail -Tokyo Linux Entertainment
Community-
URL: http://tlec.linux.or.jp/docs/junkfilter.html
に書いた手順から若干の変更があります。
> - 個人環境向け fetchmail ユーザ 専用 junkfilter インストール及び設定 -
>
> 本文書は、プロバイダからメールを pop3/apop や imap4 等で取り込む
> ユーザを対称にしています。
> プロバイダ側で spam 対策をしない、或はできない以上、 spam を受信
> してしまうことは避けられません。
> しかし、受信した後の削除作業も意外と馬鹿になりません。
> 完全に気分がすっきりする、という訳ではないにせよ、削除作業がちょっ
> とでも自動化できれば、これに越したことはないと思います。
>
> また、これを応用することで、携帯電話等のメールアドレスに対する
> spam を避ける可能性も考えられないだろうか。
> そんな思いを込めて以下に記します。
>
> [junkfilter インストールの前に] -----------------
> fetchmail と procmail をインストールしておきましょう。
> どちらもメジャーなソフトですから、どのディストリビューションにも
> 入っている筈です。
>
> # fetchmail の設定には fetchmailconf が便利です。
>
> [はじめに] -------------------------------------
> http://junkfilter.zer0.org/ から パッケージを入手。
>
> 作業するときは,fetchmail を止めてからすると安全。
>
> [1] $HOME/.procmailrc の移行をする。
> -------------------------------------------------
> mkdir -m 755 $HOME/.procmail
> mv -i $HOME/.procmailrc $HOME/.procmail/procmailrc
> ln -s $HOME/.procmail/procmailrc $HOME/.procmailrc
> -------------------------------------------------
>
> [2] 環境変数 $PMDIR を設定する(私の場合 bash です)。
> -------------------------------------------------
> export PMDIR=$HOME/.procmail
> -------------------------------------------------
> $HOME/.bashrc にも設定しておく。
>
> [3] junkfilter の tar ball を解凍&展開する。
> -------------------------------------------------
> $ cd /home/yoh/.procmail/
> $ mkdir junkfilter
> $ tar xvfz junkfilter.tar.gz
> $ cd junkfilter
>
> [4] 次の部分を変更
> -------------------------------------------------
>
> $ vi jf
>
> -------------------------------------------------
> *** ./jf.org Fri Sep 21 05:53:00 2001
> --- jf Fri Sep 21 05:53:56 2001
> ***************
> *** 65,77 ****
> echo "Done. $2 built."
>
> elif [ x$2 = xall ]; then
> ! jf build addresses
> ! jf build bodychk
> ! jf build dialups
> ! jf build domains
> ! jf build headers
> ! jf build ip
> ! jf build white
> echo "Done. $2 built."
>
> elif [ x = x ]; then
> --- 65,77 ----
> echo "Done. $2 built."
>
> elif [ x$2 = xall ]; then
> ! $JFDIR/jf build addresses
> ! $JFDIR/jf build bodychk
> ! $JFDIR/jf build dialups
> ! $JFDIR/jf build domains
> ! $JFDIR/jf build headers
> ! $JFDIR/jf build ip
> ! $JFDIR/jf build white
> echo "Done. $2 built."
>
> elif [ x = x ]; then
> -------------------------------------------------
ここですが、該当箇所は既になくなっており、変更の必要はありません。
その代わり、 Makefile の
JFDIR?= /usr/local/etc/junkfilter
を
JFDIR?= ${HOME}/.procmail/junkfilter/
に書き換えます。
> [5] 環境変数 $JFDIR を設定する(私の場合 bash です)。
> -------------------------------------------------
> export JFDIR=$HOME/.procmail/junkfilter
> -------------------------------------------------
> $HOME/.bashrc にも設定しておく。
>
> [6] jf の実行。
> -------------------------------------------------
> $ cd $JFDIR
> $ ./jf build all
> -------------------------------------------------
ここですが、
make all
でいけます。
tar ball をゆがいた状態で make しても、既に make 済のファイルが
あり、全く変更されません。
これは正常な動作です。
> [7] /home/yoh/.procmail/procmailrc の変更
> /home/yoh/.procmail/procmailrc の始めのほうに次の環境変
> 数を設定
> -------------------------------------------------
> SHELL=/bin/sh
> JFDIR=$HOME/.procmail/junkfilter
> PMDIR=$HOME/.procmail
> -------------------------------------------------
>
> /home/yoh/.procmail/procmailrc の最後のほうに次を設定
> -------------------------------------------------
> # Call junkfilter
> INCLUDERC=$JFDIR/junkfilter
> # Take action if junkfilter caught a junkmail.
> :0
> * JFEXP ?? .
> {
> :0 f
> * JFSTATUS ?? 1
> | formail -i "X-junkfilter: $JFVERSION" -i "X-Spammer: $JFEXP"
>
> :0 E :
> | formail -i "X-junkfilter: $JFVERSION" -i "X-Spammer: $JFEXP" \
> >> junkmail
> }
> -------------------------------------------------
>
> # 些細なことですが。
> # まつだは ">> junkmail" を ">> /home/yoh/spam.txt" としてます。
procmailrc の先頭に
SPAM=$HOME/spam.txt
と書いておいて、
>>$SPAM 等とすると良いでしょう。
> [8] /home/yoh/.procmail/junkfilter/junkfilter.config の変更
>
> インストールした直後では、メールヘッダに X-UIDL が含まれているメー
> ルを全て spam 扱いします。
> fetchmail 自身が X-UIDL ヘッダを付加するので、これではどのような
> メールをも拒否してしまいます。
>
> そこで、 junkfilter.config の、以下の箇所を変更します。
>
> -------------------------------------------------
> # JF_OPT_XUIDL: If an X-UIDL: header is present, the
> # mail will be junked. If you download your mail via
> # POP _before_ procmail processes it, you need to
> # check to see if an X-UIDL header is normally
> # added by the POP server. If it is, you must keep
> # this option disabled.
> JF_OPT_XUIDL=0
> ↑
> ここ
> -------------------------------------------------
>
> [9] jf-headers に引っかかるようなメールを自分に送ってみて実際に
> 動作するか確認する。
>
> -------------------------------------------------
> % mail -s "Dear Friend" hoge _at_ fumu.ne.jp
> test
>
> [10] 特定のメールを junkfilter の処理から外すには
> 二つ方法があります。
>
> (1) /home/yoh/.procmail/junkfilter/junkfilter.config の
> 以下の箇所を確認します。
>
> -------------------------------------------------
> # JF_WHITE: Implements a whitelist. Anything matching
> # a string or regexp listed in your whitelist will not
> # be processed further by junkfilter. This allows you
> # to have a set of people who can always reach you,
> # without fear of being caught in a spam filter.
> JF_WHITE=1
> ↑
> ここ
> -------------------------------------------------
>
> 上記が 1 になっていることを確認して、
> /home/yoh/.procmail/junkfilter/jf-white に条件を記入します。
>
> junkfilter-misses _at_ lists.sourceforge.net|youichikun _at_ hotmail.com
> ^^^^^^^^^^^^^^^^^^^^^^ここ
>
> 特定のメールアドレスのみ外す場合はこれで良いでしょう。
>
> (2) /home/yoh/.procmail/procmailrc の、 junkfilter の指定箇
> 所以前に、以下のように設定します。
>
> -------------------------------------------------
> SHELL=/bin/sh
> JFDIR=$HOME/.procmail/junkfilter
> PMDIR=$HOME/.procmail
>
> DEFAULT=$ORGMAIL
>
> # junkfilter から外す例
> # To: が特定のメーリングリストのアドレスで、 From: が hotmail.com
> # の場合は、全部素通しする。
> :0:
> * To:.*musume _at_ youichikun.co.jp
> * From:.*@hotmail.com
> $DEFAULT
>
> (snip)
>
> # Call junkfilter
> INCLUDERC=$JFDIR/junkfilter
> # Take action if junkfilter caught a junkmail.
> :0
> * JFEXP ?? .
> {
> :0 f
> * JFSTATUS ?? 1
> | formail -i "X-junkfilter: $JFVERSION" -i "X-Spammer: $JFEXP"
>
> :0 E :
> | formail -i "X-junkfilter: $JFVERSION" -i "X-Spammer: $JFEXP" \
> >> spam.txt
> }
> -------------------------------------------------
>
> まつだは主に (2) の方法を取っています。
> 複雑な指定ができるからです。
X-UIDL のマッチングも緩くなっており、殆ど変更無しで使えます。
--
夜に帰るため夜に帰るため夜に。
松田 陽一(yoh)
mailto:matsuda _at_ palnet.or.jp
http://www2.palnet.or.jp/~matsuda/index.htm
Follow-Ups:
- [linux-users:95598] Re: junkfilter problemMATSUDA Yoh-ichi / 松田陽一
- Prev by Subject: [linux-users:93067] Acrobat Reader 5.0.5
- Next by Subject: [linux-users:93069] dhcpcd
- Previous by thread: [linux-users:93085] Re: Acrobat Reader 5.0.5
- Next by thread: [linux-users:95598] Re: junkfilter problem
- Indexes:[Main][Thread]