dnl dnl Проверка существования получателей в доменах, для которых мы являемся backup MX dnl dnl величина таймаута при проверке получателя dnl define(`confVERIFY_RECIPIENT_TIMEOUT', `120s')dnl dnl dnl файл с перечисленными адресами/доменами получателей, для которых при verify recipient надо использовать defer=ok dnl пример: dnl define(`confVERIFY_RECIPIENT_DEFER_OK_RCPT', `CONFDIR/verify_recipient_defer_ok_rcpt')dnl dnl список указывается в виде: dnl domain : addr1 : addr2 : addr3 dnl пример: dnl my.domain.com : user : info : admin dnl my.another.domain.com : !user : * dnl dnl файл с перечисленными доменами/адресами получателей, для которых при verify recipient надо использовать defer=ok dnl пример: dnl define(`confVERIFY_RECIPIENT_DEFER_OK_MAIL', `CONFDIR/verify_recipient_defer_ok_mail')dnl dnl список указывается в виде: dnl domain : addr1 : addr2 : addr3 dnl пример: dnl sender.domain.com : user : info : admin dnl ifelse(SECTION, `MAIN', `dnl ifdef(`confVERIFY_SENDER_RECIPIENT_OK_RCPT', `', `define(`confVERIFY_RECIPIENT_DEFER_OK_RCPT', `')')dnl ifdef(`confVERIFY_SENDER_RECIPIENT_OK_MAIL', `', `define(`confVERIFY_RECIPIENT_DEFER_OK_MAIL', `')')dnl ') dnl ifelse(SECTION, `MAIN', `') ifelse(SECTION, `ACL_CHECK_RCPT_TOP', `dnl deny condition = ${if eq{$acl_m0}{accept}{yes}{no}} domains = +relay_to_domains ! recipients = @@lsearch;CONFDIR/skip_verify_recipient message = Unrouteable address ! verify = recipient/callout=use_sender,confVERIFY_RECIPIENT_TIMEOUT,defer_ok # condition = ${if eq{$sender_verify_failure}{recipient}{yes}{no}} ') dnl ifelse(SECTION, `ACL_CHECK_RCPT_TOP', `') ifelse(SECTION, `ACL_CHECK_RCPT', `dnl # Проверка существования получателей в доменах, для которых мы являемся backup MX # Исключение из проверки адресов, перечисленных в skip_verify_recipient warn set acl_m0 = domains = +relay_to_domains recipients = @@lsearch;CONFDIR/skip_verify_recipient set acl_m0 = skip ifelse(len(X`'confVERIFY_RECIPIENT_DEFER_OK_RCPT), `1', `dnl', `dnl warn domains = +relay_to_domains condition = ${if eq{$acl_m0}{skip}{no}{yes}} recipients = @@wildlsearch;confVERIFY_RECIPIENT_DEFER_OK_RCPT set acl_m0 = ,defer_ok ') dnl ifelse(len(X`'confVERIFY_RECIPIENT_DEFER_OK_RCPT), `1', `') ifelse(len(X`'confVERIFY_RECIPIENT_DEFER_OK_MAIL), `1', `dnl', `dnl warn domains = +relay_to_domains condition = ${if eq{$acl_m0}{skip}{no}{yes}} senders = @@lsearch;confVERIFY_RECIPIENT_DEFER_OK_MAIL set acl_m0 = ,defer_ok ') dnl ifelse(len(X`'confVERIFY_RECIPIENT_DEFER_OK_MAIL), `1', `') deny domains = +relay_to_domains condition = ${if eq{$acl_m0}{skip}{no}{yes}} message = Unrouteable address ! verify = recipient/callout=use_sender,confVERIFY_RECIPIENT_TIMEOUT${acl_m0} # condition = ${if eq{$sender_verify_failure}{recipient}{yes}{no}} ') dnl ifelse(SECTION, `ACL_CHECK_RCPT', `') ifelse(SECTION, `ACL_CHECK_RCPT_BOTTOM', `dnl # Прием почты для получателей из доменов, для которых мы являемся backup MX accept domains = +relay_to_domains endpass ') dnl ifelse(SECTION, `ACL_CHECK_RCPT_BOTTOM', `')