dnl dnl Проверка комбинации адреса отправителя и получателя dnl dnl комбинации адресов отправителей и получателей указываются в файле CONFDIR/access-compat dnl в виде: dnl sender_mailbox@sender.domain<@>rcpt_mailbox@rcpt.domain : action : message dnl dnl в качестве action могут быть использованы: dnl warn - выдача предупреждения в лог файл и в заголовки письма dnl deny или reject - отказ в приеме сообщения dnl drop или discard - удаление сообщения dnl defer - возврат временной ошибки отправителю dnl dnl сообщение message может отсутствовать dnl dnl в адресе отправителя в левой части допустимо использование масок: dnl *@sender.domain<@>rcpt_mailbox@rcpt.domain : deny : Access denied dnl dnl допустимо использование регулярных выражений: dnl \N^<@>(hostmaster|ftpmaster)@rcpt\.domain$\N : deny : Null sender rejected. Thist is incoming address only. dnl dnl примеры: dnl <@>hostmaster@domain.tld : deny : Null sender rejected. Thist is incoming address only. dnl a@b.c<@>hostmaster@domain.tld : warn dnl *@b.c<@>hostmaster@domain.tld : drop dnl *<@>hostmaster@domain.tld : warn dnl <@>*@domain.tld : deny dnl a@b.c<@>*@domain.tld : warn : Access denied dnl *@b.c<@>*@domain.tld : warn dnl *<@>*@domain.tld : warn dnl \N^<@>.+@domain.tld\N : deny dnl \N^a@b.c<@>.+@domain.tld\N : warn dnl \N^.+@b.c<@>.+@domain.tld\N : defer dnl \N^.+<@>.+@domain.tld\N : warn # Проверка комбинации адреса отправителя и получателя warn set acl_m0 = ${lookup{\ $sender_address<@>$local_part@$domain\ }wildlsearch{CONFDIR/access-compat}} warn condition = ${if eq{$acl_m0}{}{no}{yes}} condition = ${if match{$acl_m0}{\N(?i)^\s*(warn).*$\N}{yes}{no}} log_message = Sender/recipient address pair warn message = X-Warn-Compat: \ ${if match{$acl_m1}{\N(?i)^\s*(warn)\s*:\s*(.+)$\N}\ {$2}{Sender/recipient address pair warn}} deny condition = ${if match{$acl_m0}{\N(?i)^\s*(deny|reject).*$\N}{yes}{no}} log_message = Sender/recipient address pair blacklisted message = ${if match{$acl_m0}{\N(?i)^\s*(deny|reject)\s*:\s*(.+)$\N}\ {$2}{Sender/recipient address pair rejected}} defer condition = ${if match{$acl_m0}{\N(?i)^\s*(defer).*$\N}{yes}{no}} log_message = Sender/recipient address pair defered message = ${if match{$acl_m0}{\N(?i)^\s*(defer)\s*:\s*(.+)$\N}\ {$2}{Sender/recipient address pair defered}} drop condition = ${if match{$acl_m0}{\N(?i)^\s*(drop|discard).*$\N}{yes}{no}} log_message = Sender/recipient address pair discarded message = ${if match{$acl_m0}{\N(?i)^\s*(drop|discard)\s*:\s*(.+)$\N}\ {$2}{}}