dnl dnl встречная проверка адреса отправителя dnl dnl NO - не проводить проверку dnl WARN - вывода в лог файл предупреждения (не выводятся для сообщений, попадающих в исключения) dnl WARN_LOG - вывода в лог файл предупреждения (выводятся и для сообщений, попадающих в исключения) dnl REJECT - возврата клиенту кода 5xx dnl REJECT_LOG - возврата клиенту кода 5xx (для сообщений, попадающих в исключения, выводится предупреждения) dnl define(`confVERIFY_SENDER', `REJECT')dnl dnl dnl не нужно производить встречную проверку отправителя для: dnl получателей, перечисленных в skip_verify_sender_rcpt dnl отправителей, перечисленных в skip_verify_sender_mail dnl рилеев, перечисленных в skip_verify_sender_relay dnl dnl величина таймаута при проверке отправителя dnl define(`confVERIFY_SENDER_TIMEOUT', `120s')dnl dnl dnl файл с перечисленными адресами/доменами получателей, для которых при verify sender надо использовать defer=ok dnl пример: dnl define(`confVERIFY_SENDER_DEFER_OK_RCPT', `CONFDIR/verify_sender_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 sender надо использовать defer=ok dnl пример: dnl define(`confVERIFY_SENDER_DEFER_OK_MAIL', `CONFDIR/verify_sender_defer_ok_mail')dnl dnl список указывается в виде: dnl domain : addr1 : addr2 : addr3 dnl пример: dnl sender.domain.com : user : info : admin dnl ifelse(SECTION, `MAIN', `dnl hostlist skip_verify_sender = 127.0.0.1 : CONFDIR/skip_verify_sender_relay dnl ifdef(`confVERIFY_SENDER_DEFER_OK_RCPT', `', `define(`confVERIFY_SENDER_DEFER_OK_RCPT', `')')dnl ifdef(`confVERIFY_SENDER_DEFER_OK_MAIL', `', `define(`confVERIFY_SENDER_DEFER_OK_MAIL', `')')dnl ')dnl dnl ifelse(SECTION, `ACL_CHECK_RCPT', `dnl # Проверка адреса отправителя warn set acl_m0 = ifelse(len(X`'confVERIFY_SENDER_DEFER_OK_RCPT), `1', `dnl', `dnl warn recipients = @@lsearch;confVERIFY_SENDER_DEFER_OK_RCPT set acl_m0 = ,defer_ok ') ifelse(len(X`'confVERIFY_SENDER_DEFER_OK_MAIL), `1', `dnl', `dnl warn senders = @@lsearch;confVERIFY_SENDER_DEFER_OK_MAIL set acl_m0 = ,defer_ok ') ifelse(confVERIFY_SENDER, `WARN', `dnl warn hosts = !+skip_verify_sender ! authenticated = * ! senders = @@lsearch;CONFDIR/skip_verify_sender_mail ! recipients = @@lsearch;CONFDIR/skip_verify_sender_rcpt message = X-Verify-Sender: NOT verified log_message = Verify sender failed ! verify = sender/callout=confVERIFY_SENDER_TIMEOUT # condition = ${if eq{$sender_verify_failure}{recipient}{yes}{no}} ') ifelse(confVERIFY_SENDER, `WARN_LOG', `dnl warn message = X-Verify-Sender: NOT verified log_message = Verify sender failed ! verify = sender/callout=confVERIFY_SENDER_TIMEOUT # condition = ${if eq{$sender_verify_failure}{recipient}{yes}{no}} ') ifelse_strstr(confVERIFY_SENDER, `REJECT', `dnl deny hosts = !+skip_verify_sender ! authenticated = * ! senders = @@lsearch;CONFDIR/skip_verify_sender_mail ! recipients = @@lsearch;CONFDIR/skip_verify_sender_rcpt ! verify = sender/callout=confVERIFY_SENDER_TIMEOUT${acl_m0} # condition = ${if eq{$sender_verify_failure}{recipient}{yes}{no}} ifelse_strstr(confVERIFY_SENDER, `LOG', `dnl warn message = X-Verify-Sender: NOT verified log_message = Verify sender failed ! verify = sender/callout=confVERIFY_SENDER_TIMEOUT # condition = ${if eq{$sender_verify_failure}{recipient}{yes}{no}} ') ') ')