Попытался сделать автоматическую проверку через exim'овский ACL.
Код: Выделить всё
# warn message = X-Spam-Score: $spam_score ($spam_bar)
# logwrite = "X-Spam-Score: $spam_score ($spam_bar)"
# hosts = !+whitelist_hosts_ip : *
# spam = spammail:true
# warn message = X-Spam-Report : $spam_report
# hosts = !+whitelist_hosts_ip : *
# spam = spammail:true
# warn message = ***SPAM*** $h_Subject :
# hosts = !+whitelist_hosts_ip : *
# spam = spammail:true
# deny message = This Message scored $spam_score spam points
# hosts = !+whitelist_hosts_ip : *
# condition = ${if > {$spam_score_int}{120}{1}{0}}
# spam = spammail:true
Через spamc проверка шла для каждого отдельного пользователя (у каждого пользователя существуют отдельные настройки). Достигалось это через переменную $domain, после проверки которой определялся владелец домена (пользователь системы, которому принадлежат ящики этого домена). В ACL_DATA эту переменную использовать нельзя, как в прочем и производить проверку отправителя, находится ли он в локальных доменах.
Может кто знает как побороть это? Хочется чтобы проверка на спам производилась от каждого отдельного пользователя в правилах ACL.
P.S. пробовал запихивать домен в переменную acl_m0 во время ACL_RCPT, но срабатывал такой вариант через раз.
Еще насколько я понимаю проверка на спам производится в течение активной SMTP-сессии, сильно это загружает канал и проц???