Exim - блокировать входящую почту только из черного списка IPS

Я хотел бы проверить черные списки только для входящей электронной почты. У меня есть пользователи, которые обычно получают динамические IP-адреса, которые заносятся в черный список, поэтому они не могут отправлять электронную почту, если я включаю опцию черного списка. Как я мог этого добиться? Также есть ли способы настроить автоматическое удаление писем, помеченных как СПАМ?

Вот мой exim cofnfiguration. http://paste.servergur.us/wilumojabi.coffee

2 ответа

Вы должны внести в белый список законных отправителей, в то время как все остальные проходят через черный список. Но гораздо более эффективным способом является использование SMTPS с аутентификацией.

exim намеревался спросить spamd о баллах от ACL, и если оценка достаточно высока - просто отклоните или оставьте сообщение черным. Доставка + удаление - это бесполезная трата ресурсов.

Подумайте об этом с противоположной стороны: вы хотите ограничить проверки 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, которые также отправляют почту, у меня просто включены / отключены разные оценки и установлены разные пороги нежелательной почты и спама.

Другие вопросы по тегам