Я хочу проверять черные списки только для входящей электронной почты. У меня есть пользователи, которые обычно получают динамические IP-адреса, которые занесены в черный список, поэтому они не смогут отправлять электронную почту, если я включу опцию черного списка. Как я мог этого добиться? Кроме того, есть ли способы настроить автоматическое удаление писем, помеченных как СПАМ?
Вот моя конфигурация eximʻa. http://paste.servergur.us/wilumojabi.coffee
Подумайте об этом с противоположной стороны: вы хотите ограничить проверки RBL только теми входящими электронными письмами, которые не исходят от аутентифицированных пользователей:
deny message = rejected because $sender_host_address is in a black list \
at $dnslist_domain\\n$dnslist_text
!authenticated = *
dnslists = ${readfile {/etc/exim/dnsbl.conf}{:}}
На ваш второй вопрос можно ответить двумя способами. Один из вариантов заключается в том, что вы можете доставлять спам прямо в папку для спама пользователя, а не в его папку «Входящие».
# Add X-Spam-Flag if spam is over system-wide threshold for non-authed users
warn condition = ${if >{$message_size}{500K}{no}{yes}}
!authenticated = *
spam = exim
add_header = X-Spam-Flag: Yes
set acl_m_filter_to_spam = 1
# In transport which actually delivers the email, if $acl_m_filter_to_spam
# is set, I append ".Spam/" to the maildir delivery path
Другой вариант - отклонить сообщение, а не принять его.
# Reject spams with score over limit for non-authed users
deny condition = ${if >{$message_size}{500K}{no}{yes}}
!authenticated = *
message = This message scored $spam_score points. Rejected.
spam = exim:true
condition = ${if >{${eval10:$spam_score_int/10}}{INBOUND_SPAM_LIMIT}}
В моем случае я действительно делаю и то, и другое. Я помечаю письмо как спам, если оно имеет оценку 5.0 или выше. Я отфильтровываю его в папку «Спам», если он получает оценку от 5,0 до 5,9. Я полностью отклоняю письмо, если оно набирает 6.0 или выше.
Обратите внимание, что приведенные выше примеры спама относятся к обычной входящей электронной почте. У меня есть весь этот раздел, продублированный для сканирования пользователей, прошедших проверку подлинности SMTP, которые тоже отправляют почту, у меня просто включены / отключены разные оценки и установлены разные пороги спама и отклонения.
Ты должен белый список законные отправители, а все остальные пропускаются через черный список. Но гораздо более эффективный способ - использовать SMTPS с аутентификацией.
exim
намеревался спросить spamd
о счетах из ACL, и если оценка достаточно высока - просто отклонить или заблокировать сообщение. Доставка + удаление - это трата ресурсов.