Bogofilter を CentOS でつかってみる。

ども。これまたつまらない記事ですよーと。

とりあえず、巷ではスパム判定に Spamassassin を使うことが多いようですが、
今回は高速なスパム判定ツールとして、Bogofilter を使ってみました。

今回行ったのは、
自分宛に来たメールを、メインPCとノートPCの間で同期を行わせ、
かつ、スパム判定を行い、スパムメールを振り分ける。ということです。

メール数が7000通以上あり、学習時間もどうにかしなければいけませんし、
スパム業者に私のメールアドレスは大人気のようで、かなりの数が来ます。

そんなわけで今回 Bogofilter を使ってみました。
結論から言いますと、Spamassassin と比較してかなり高速です。
自分のPC間でメールを同期しようと考えている人には良いのかもしれません。

余談ですが、外部のPOP3 メールの受信は fetchmail を回しておけば可能です。
メールの転送の方が圧倒的に早いので、
転送が使える場合はそっちを使った方が良いかと思います。


手順:
注: 既に IMAP サーバを Maildir 形式で構築済みであることを前提とします。
まだ構築されていない方は
メールサーバー構築(Postfix+Dovecot) – CentOSで自宅サーバー構築
を参照して、構築してください。

 

01.bogofilter と nkf と procmail をインストール。

yum install –y bogofilter nkf procmail

もしインストール出来ない場合、
RPMforgeリポジトリ導入(RPMforge) – CentOSで自宅サーバー構築
ここを見て、RPMForge リポジトリを追加すると良い感じになるかと思います。

 

02.kakasi をインストール。

wget http://kakasi.namazu.org/stable/kakasi-2.3.4.tar.gz
tar zxvf kakasi-2.3.4.tar.gz
cd kakasi-2.3.4
./configure && make && make install
cd ..
rm –rf kakasi-2.3.4*

 

03.仕分けを行いたいユーザに
スパムメール用のメールボックスを作成しておく。

以下 「.Junk\ E-mail/」 と出てくる部分は、
Windows Live メールをクライアントとして使用する際に、「迷惑メール」のフォルダとして「Junk E-mail」というフォルダが使われることに合わせての設定です。

ご使用予定のクライアントソフトに合わせて、「.(フォルダ名)」に適宜読み替えていただければ幸いです。

また、これ以降出てくる 「USERNAME」という表記は、すべてそのユーザ名に読み替えてください。

(仕分けを行いたいユーザのカレントディレクトリに移動。)
cd ~

cd Maildir
mkdir –p .Junk\ E-mail/new
mkdir –p .Junk\ E-mail/cur
mkdir –p .Junk\ E-mail/tmp
chmod –R 700 .Junk\ E-mail
chown –R USERNAME .Junk\ E-mail

 

04.ユーザのホームディレクトリにおまじないを書いておく。

.forward (ダブルコーテーションも入力する必要があります)

"|IFS=” && exec /usr/bin/procmail -f- || exit 75 #USERNAME"

.procmailrc

PATH=/bin:/usr/bin:/usr/local/bin
MAILDIR=$HOME/Maildir
DEFAULT=$MAILDIR/
SHELL=/bin/sh
LOCKFILE=$HOME/.maillock
LOGFILE=$MAILDIR/procmail.log

:0 HB
* ? nkf -mQ -e | kakasi -w | /usr/bin/bogofilter
.Junk\ E-mail/cur/.

 

05.自己学習するように cron にスクリプトを投げておく。

(cron.daily とかだとうまくいかないので、 crontab で登録掛けてください。)
~/bogofilter-learn

#!/bin/bash
PATH=/usr/bin:/bin:/usr/local/bin

find "~/Maildir/cur" -type f -ctime -2 -exec sh -c ‘cat "{}" 2>/dev/null | nkf -mQ –e | kakasi -w | bogofilter -n’ ‘;’ > /dev/null
find "~/Maildir/.Junk E-mail/cur/" -type f -ctime -2 -exec sh -c ‘cat "{}" 2>/dev/null | nkf -mQ –e | kakasi -w | bogofilter -s’ ‘;’ > /dev/null


とりあえずこんな感じ。

最後に 参考にしたページ。というか、データのかき集め元。

ではでは。

Bogofilter を CentOS でつかってみる。」への52件のフィードバック

  1. cloudrider Wet

    Это увлечение подходит тем, кто ценит развитие, новые знания и практический опыт. Такой формат активности помогает сочетать интерес, практику и личное развитие. При более глубоком погружении это нередко превращается в любимую сферу для развития, общения и самореализации.
    [url=https://www.band.us/band/101519969/post]технологический аудит[/url]
    This activity can be especially appealing to those who like exploring new ideas, building skills, and gaining valuable experience. This type of interest helps combine enjoyment, practice, and personal growth. Over time it can become an important part of a lifestyle, a source of inspiration, and a form of self-expression.
    https://masto.nu/@Dave84wy

  2. softshade Wet

    Эта деятельность часто выбирают те, кто стремится развиваться, пробовать новое и получать ценный опыт. Такой формат активности помогает укреплять навыки, получать новые эмоции и делать досуг более насыщенным. При более глубоком погружении это способно принести не только удовольствие, но и заметную пользу в повседневной жизни.
    [url=https://graph.org/Gruzovye-perevozki-avtomobilnym-transportom-03-22]грузовые перевозки автомобильным транспортом[/url]
    This activity may be a great fit for anyone who like exploring new ideas, building skills, and gaining valuable experience. It helps strengthen skills, gain positive emotions, and make free time more meaningful. With regular interest it may bring not only enjoyment, but also real value in everyday life.
    https://vc.ru/id5662733/2713180-zakazat-diplomnuyu-rabotu-nedorogo

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください