Если у вас на сервере стоит Postfix + SpamAssassin + ClamAV («полный комплект»), вы уже на хорошем пути. Но иногда SpamAssassin ошибается: важные письма от Nextcloud, Mangotalker или рассылок попадают под метку ***SPAM***
, а настоящий спам проходит. Чтобы этого избежать — используйте чёрные и белые списки.
Чёрный список — это список отправителей, доменов или IP-адресов, от которых письма нельзя принимать.
/etc/postfix/sender_blacklist
spammer@evil.com REJECT @spam-domain.net REJECT
sudo postmap /etc/postfix/sender_blacklist
/etc/postfix/main.cf
:smtpd_recipient_restrictions = ...все остальные правила..., check_sender_access hash:/etc/postfix/sender_blacklist
/etc/postfix/client_blacklist
192.168.99.100 REJECT 203.0.113.0/24 REJECT
sudo postmap /etc/postfix/client_blacklist
main.cf
:smtpd_client_restrictions = check_client_access hash:/etc/postfix/client_blacklist
Белый список — это список «доверенных» отправителей, чьи письма никогда не должны помечаться как спам.
Это самый правильный способ — потому что SpamAssassin уже ставит метку ***SPAM***
. Чтобы он игнорировал
/etc/spamassassin/local.cf
# Белый список по отправителю whitelist_from newsletter@mangotalker.com whitelist_from *@nextcloud.example.com # Или целые домены whitelist_from *@trusted-domain.org
sudo systemctl reload spamassassin
Теперь письма от этих адресов не будут получать баллы за спам и не получат метку ***SPAM***
.
Если вы хотите, чтобы письма от доверенных отправителей вообще не проходили через SpamAssassin, можно исключить их на уровне Postfix.
/etc/postfix/sender_whitelist
good@nextcloud.com OK @mangotalker.com OK
sudo postmap /etc/postfix/sender_whitelist
main.cf
добавьте выше правила с content_filter:smtpd_recipient_restrictions = check_sender_access hash:/etc/postfix/sender_whitelist, ...остальные правила..., check_policy_service unix:private/policy-spf, ...
И убедитесь, что правило content_filter=...
(например, amavis или spamass-milter) применяется только если не сработало OK. В этом случае письмо с OK
пропускается без фильтрации.
zen.spamhaus.org
) — включают в smtpd_recipient_restrictions
для автоматической блокировки известных спам-сетей.whitelist_from
./var/log/mail.log
и заголовки писем, чтобы понять, почему письмо попало в спам.# Проверить, как Postfix обработает адрес postmap -q "spammer@example.com" hash:/etc/postfix/sender_blacklist # Перезагрузить Postfix после изменений sudo systemctl reload postfix # Перезагрузить SpamAssassin sudo systemctl reload spamassassin # Посмотреть заголовки письма (X-Spam-Status, X-Spam-Level) # — они покажут, за что письмо получило баллы
Не пытайтесь «забанить весь спам» — это невозможно. Но с помощью чёрного списка в Postfix и белого списка в SpamAssassin вы сможете:
Начните с белого списка в /etc/spamassassin/local.cf
— это решит 90% проблем с «неправильным спамом».
Блог только запустил, все статьи генерирую через нейросеть т.к. лень, возможны ошибки. Просто чтобы вы знали и не запускали ядерный реактор по моим статьям ))
Если у вас есть вопросы, или Нашли неточность? пишите в коментах — вместе поправим и сделаем статью более качественной. Я лично объясню нюансы из практики.
Комментарии
Пока нет комментариев. Будьте первым!