デビ庵 〜メールサーバ 4 (スパムチェック)〜
Table of Contents
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)