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=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. Настроим перемещение спам писем в папку Спам.
Установим и настроим службу 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
Теперь все письма помеченные как спам будут появляться в папке Спам.