dnl dnl Поддержка domain literals dnl dnl соответствующие домены перечисляются в файле domains-literals: dnl dnl пример: dnl [207.46.245.222] dnl [207.46.245.214] dnl dnl соответствия между адресами в виде domain literals и реальными адресами получателей dnl прописываются в virtusertable dnl dnl пример: dnl postmaster@[207.46.245.222]: postmaster@local.domain dnl abuse@[207.46.245.222]: abuse@local.domain dnl ifelse(SECTION, `MAIN', `dnl dnl ifdef(`confVIRTUSERTABLE', `ifelse(confVIRTUSERTABLE, `NO', `dnldnl errprint(`*** ERROR: virtusertable required for domain_literals ')')',`dnl errprint(`*** ERROR: virtusertable required for domain_literals ')') dnl domainlist virtuser_domains_literals = lsearch;CONFDIR/domains-literals define(`confVIRTUSERTABLE_DOMAINS_LISTS', confVIRTUSERTABLE_DOMAINS_LISTS` : +virtuser_domains_literals')dnl define(`confDOMAINS_ABUSE', confDOMAINS_ABUSE` : +virtuser_domains_literals')dnl allow_domain_literals = true ') dnl ifelse(SECTION, `ACL_CHECK_RCPT', `dnl # Проверка результата поиска адреса получателя из virtuser_domains_literals в virtusertable deny domains = +virtuser_domains_literals condition = ${if eq{$acl_m0}{}{yes}{no}} message = Access denied. Domain literals not allowed for $local_part@$domain ') dnl ifelse(SECTION, `ACL_CHECK_RCPT_BOTTOM', `dnl # Прием почты для получателей из domain literals accept domains = +virtuser_domains_literals endpass ') dnl ifelse(SECTION, `ROUTERS', `dnl domain_literals: driver = manualroute transport = remote_smtp domains = ! +local_domains : ! +virtuser_domains_literals condition = ${if match{$domain}{\N^\[\d+\.\d+\.\d+\.\d+\]$\N}{yes}{no}} route_data = ${if match{$domain}{\N^\[(\d+\.\d+\.\d+\.\d+)\]$\N}{$1}{}} log_as_local = false ')