デビ庵 〜メールサーバ 4 (スパムチェック)〜

spamassassinとprocmailを使用して、スパムを自動振り分けします。

スパムは .Spamディレクトリに振り分けられ、メールクライアントから内容を確認することができます。
誤ってスパムに分類されることになるため、目視での確認は必要になりますが、おおむねスパムと思われるメールが振り分けられるため、日常の利便性は高いと思います。

spamassassinとprocmailのインストール

# apt-get install procmail spamassassin

procmailの設定

全員が同じ設定を使用する場合は
/etc/procmailrc
を編集します。
各個人毎(メールアカウント毎)に設定する場合は、各ユーザホームディレクトリの
~/.procmailrc
を編集します。

SHELL=/bin/bash
PATH=/usr/bin:/bin:/usr/local/bin
DROPPRIVS=yes
MAILDIR=$HOME/Maildir
DEFAULT=$MAILDIR/
SPAM=$MAILDIR/.Spam/
LOGFILE=$HOME/.procmail.log # ログ出力先
VERBOSE=ON # 詳細ログ出力

# メールヘッダー中に「 X-Spam-*** 」の記述がなければ spamassassin を起動します
:0fw
*!^X-Spam.*
|spamassassin

# メールヘッダー中に「 X-Spam-Status: Yes 」の記述があれば、「 .Spam 」ディレク
トリにメールを格納します
:0
* ^X-Spam-Status: Yes
$SPAM

spamassassinがスパムと判断したメールは
ヘッダにX-Spam-Status: Yesを記載し、
「 .Spam 」ディレク トリにメールを格納します。

各ユーザの~/Maildirディレクトリに.Spamディレクトリを作っておきます。

各ユーザでログインし、下記を実行。
$ /usr/sbin/maildirmake -f .Spam Maildir

今後作成されるユーザのために下記を実行。
# /usr/sbin/maildirmake -f /etc/skel/Maildir/.Spam Maildir

postfixの設定

# vi /etc/postfix/main.cf

# メールを受信したらprocmailに渡す(470)
mailbox_command = /usr/bin/procmail -a "$EXTENSION"

# systemctl restart postfix spamassassin
#systemctl enable spamassassin

spamassassinの更新

追記予定。
誤ってスパムに振り分けられたメールを、手動で受信ディレクトリに移動した後でないと効果がありません。

謝辞

以下のサイトを参考にさせていただきました。

Linuxで自宅サーバ様 (http://www.miloweb.net/spamassassin.html)

Follow me!

コメントを残す

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

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