Ubuntu\Debianメールサーバーで、Postfixサービス向けにspamassassinアンチスパムサービスを設定し、スパムメールをSpamフォルダに移動する方法です。この設定により、フィルターのトレーニングとメッセージの自動移動を行うことで、メールの作業が快適になります。
このガイドは、メールサーバー自体が既に設定済みで、スパムフィルターを設定する必要がある場合を想定しています。メールサーバーの設定に関する詳細は、こちらをご覧ください:
また、事前に設定されたオペレーティングシステムを備えたVPSを注文し、VPSサーバーの価格で企業向けメールサーバーを入手することもできます。
1. spamassassinサービスのインストール
apt-get install spamassassin spamc
adduser spamd --disabled-login
2. サービスの設定
vi /etc/default/spamassassin
以下の行を見つけます:
OPTIONS="--create-prefs --max-children 5 --helper-home-dir"
そして、以下のように置き換えます:
OPTIONS="--create-prefs --max-children 5 --username spamd --helper-home-dir /home/spamd/ -s /home/spamd/spamd.log"
ファイルの最後に、cronを有効にします:
CRON=1
ファイルを保存します。 (:wq)
3. フィルタの設定:
mv /etc/spamassassin/local.cf /etc/spamassassin/local.cf.bk
vi /etc/spamassassin/local.cf
rewrite_header Subject ***** SPAM SCORE *****
report_safe 0
required_score 5.0
use_bayes 1
use_bayes_rules 1
bayes_auto_learn 1
skip_rbl_checks 0
use_razor2 0
use_pyzor 0
ifplugin Mail::SpamAssassin::Plugin::Shortcircuit
endif
ファイルを保存します。
4. Postfixサービスの設定
smtp行を見つけて、以下の設定を追加します:
vi /etc/postfix/master.cf
smtp inet n - y - - smtpd -o content_filter=spamassassin
spamassassin unix - n n - - pipe
user=spamd argv=/usr/bin/spamc -f -e
/usr/sbin/sendmail -oi -f ${sender} ${recipient}
ファイルを保存して、サービスを再起動します
systemctl restart postfix.service
systemctl enable spamassassin.service
systemctl start spamassassin.service
次のテキストを含むメールを送信して、サービスの動作を確認します:
XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X
5. スパムメールをSpamフォルダに移動する設定
Sieveサービスをインストールして設定します
apt-get install dovecot-sieve dovecot-managesieved
vi /etc/dovecot/conf.d/90-sieve.conf
sieve = /etc/dovecot/dovecot.sieve
ファイルを保存します。
次のファイルを作成します:
vi /etc/dovecot/dovecot.sieve
require "fileinto";
if header :contains "SPAM" "YES" {
fileinto "Junk";
}
if header :contains "X-Spam-Flag" "YES" {
fileinto "Junk";
}
ファイルを保存します。
ファイルの末尾に以下の設定を追加します:
vi /etc/dovecot/dovecot.conf
service stats {
unix_listener stats-reader {
user = vmail
group = vmail
mode = 0660
}
unix_listener stats-writer {
user = vmail
group = vmail
mode = 0660
}
}
ファイルを保存します。
以下のように行を変更する設定をファイルに追加します:
vi /etc/dovecot/conf.d/15-lda.conf
protocol lda {
mail_plugins = $mail_plugins sieve
}
次に、行を以下のように設定します:
vi /etc/dovecot/conf.d/10-director.conf
protocol lmtp {
mail_plugins = $mail_plugins sieve
}
サービスを再起動します:
systemctl start spamassassin.service
systemctl restart postfix.service
これで、スパムとしてマークされたすべてのメールがSpamフォルダに表示されます。