Skip to content

Instantly share code, notes, and snippets.

@nishinoshake
Last active January 8, 2017 07:33
Show Gist options
  • Save nishinoshake/080242b72247a402f63c3fdaf0cb2feb to your computer and use it in GitHub Desktop.
Save nishinoshake/080242b72247a402f63c3fdaf0cb2feb to your computer and use it in GitHub Desktop.
SpamAssasinのインストール

インストール

yum -y install spamassassin

起動と自動起動設定

systemctl start spamassassin
systemctl enable spamassassin

SpamAssassin設定ファイルを最新にするスクリプト作成

vi spamassassin-update

#!/bin/bash

cd /etc/mail/spamassassin
wget -qN http://www.flcl.org/~yoh/user_prefs

diff user_prefs user_prefs.org > /dev/null 2>&1
if [ $? -ne 0 ]; then
  cp user_prefs local.cf

  # スパム判断したメールを添付形式にしないように設定
  echo "report_safe 0" >> local.cf

  # SpamAssassin再起動
  systemctl restart spamassassin > /dev/null
fi
cp user_prefs user_prefs.org

スクリプトをクーロンでまわす設定

chmod +x spamassassin-update
./spamassassin-update 
mv spamassassin-update /etc/cron.daily/

スパム用ディレクトリとログのスケルトン作成

mkdir -p /etc/skel/Maildir/spam/{new,cur,tmp}
mkdir -p /etc/skel/Maildir/log/procmail.log
chmod -R 700 /etc/skel/Maildir/
vi /etc/skel/.forward
vi /etc/skel/.procmailrc

Procmailの設定

vi $HOME/.procmailrc

# 環境変数設定
SHELL=/bin/bash
PATH=/bin:$HOME/bin:/usr/bin:/usr/local/bin
MAILDIR=$HOME/Maildir
DEFAULT=$MAILDIR/
SPAMDIR=$MAILDIR/spam/
LOGFILE=$MAILDIR/log/procmail.log

# レシピ設定
:0
*^from:.*spam
$SPAMDIR

# SpamAssassinを実行させる
:0fw: spamassassin.lock
| /bin/spamc

# Spamと判定されたメールをSpamディレクトリへ
:0
*^X-Spam-Flag: YES
$SPAMDIR

ユーザごとのwhite/blackリスト作成

メールを受信すると、各ユーザの$HOMEに
.spamassassinディレクトリができる。
その配下のuser_prefsがユーザ毎の設定になるので
そのファイルからwhite/blackリストをインクルードする。

vi $HOME/.spamassassin/user_prefs
# 末尾に追加
include blacklist
include whitelist

black/whiteリストは下記の記法で、
user_prefsと同じディレクトリに作成する。

vi blacklist
blacklist_from [email protected]

vi whitelist
whitelist_from *@hoge.com
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment