Проблема в том, что exim пропускает до amavis'a несуществующи пользователей для существующих доменов, а amavis в свою очередь проверяет эту почту через dspam и clamav и в конце радостно говорит Unknown User.
Хочется отсекать несуществующих пользователей на уровне acl deny.
exim.conf
Код: Выделить всё
begin acl
check_recipient:
accept hosts = :
deny domains = +local_domains
local_parts = ^[.] : ^.*[@%!/|]
deny domains = !+local_domains
local_parts = ^[./|] : ^.*[@%!] : ^.*/\\.\\./
deny message = "HELO/EHLO required by SMTP RFC."
condition = ${if eq{$sender_helo_name}{}{yes}{no}}
deny message = "can not be only numbers in HELO!."
condition = ${if match{$sender_helo_name}{\N^\d+$\N}{yes}{no}}
hosts = !127.0.0.1 : !localhost : *
deny message = "main IP in your HELO!."
condition = ${if match{$sender_helo_name}{$interface_address}{yes}{no}}
hosts = !127.0.0.1 : !localhost : *
deny message = "No sender address."
condition = ${if eq{$sender_address}{}{yes}{no}}
hosts = !127.0.0.1 : !localhost : *
deny message = "Your host blacklisted."
sender_domains = +blacklist_domains
deny message = "Your host blacklisted."
domains = +blacklist_domains
deny message = "No postmaster here."
local_parts = postmaster
domains = +local_domains
deny message = "No abuse here."
local_parts = abuse
domains = +local_domains
require verify = sender
accept hosts = +auth_relay_hosts
condition = ${if eq {$interface_port}{587} {yes}{no}}
endpass
message = relay not permitted, authentication required
authenticated = *
accept domains = +local_domains
endpass
message = "Unknown User."
verify = recipient
accept domains = +relay_domains
endpass
message = "No relay here."
verify=recipient
accept hosts = +relay_hosts
accept hosts = +auth_relay_hosts
endpass
message = "authentication required."
authenticated = *
deny message = relay not permitted