dnl dnl поддержка SRS (Sender Rewriting Scheme) dnl dnl NO - выключить поддржку SRS dnl YES - включить поддржку SRS dnl define(`confSRS', `NO')dnl dnl dnl ключ шифрования dnl define(`confSRS_SECRET', `somesecret')dnl dnl ifelse(SECTION, `MAIN', `dnl # Define this to handle SRS-bounces SRS_SECRET=confSRS_SECRET ifdef(`confSRS_SECRET', `', ` errprint(`*** ERROR: confSRS_SECRET variable required ')') ') dnl ifelse(SECTION, `MAIN', `') ifelse(SECTION, `ROUTERS', `dnl inbound_srs: driver = redirect senders = : domains = +local_domains # detect inbound bounces which are SRS-d, and decode them # condition = ${if inbound_srs{$sg{$local_part}{\N^srs\N}{SRS}}}{SRS_SECRET}} condition = ${if inbound_srs{$local_part}{SRS_SECRET}} data = $srs_recipient inbound_srs_failure: driver = redirect senders = : domains = +local_domains # detect inbound bounces which look SRS-d but are invalid condition = ${if inbound_srs{$local_part}{}} allow_fail data = :fail: Invalid SRS recipient address ') dnl ifelse(SECTION, `ROUTERS', `') ifelse(SECTION, `TRANSPORTS', `dnl ifelse_strstr(confIPv6, `YES', `dnl dnl ifelse(confDNSLOOKUP6_ENABLE, `NO', `', `dnl dnl define(`TRANSPORT', `remote_smtp6_srs')dnl dnl remote_smtp6_srs: driver = smtp ifdef(`confSMTP_AUTH_CLIENT', `ifelse(confSMTP_AUTH_CLIENT, `NO', `', `dnl hosts_try_auth = +hosts_try_auth ')') dnl ifdef(`confFALL_BACK_MX', `ifelse(confFALL_BACK_MX, `NO', `', `dnl define(`_I_',`eval(index(confFALL_BACK_MX,` ') >= 0)')`'ifelse(_I_,`1', ` fallback_hosts = ${sg{confFALL_BACK_MX}{ }{}}', ` fallback_hosts = confFALL_BACK_MX') ')') dnl ifdef(`confFALL_BACK_MX_LOCALHOST_ENABLE', `ifelse(confFALL_BACK_MX_LOCALHOST_ENABLE, `NO', `', `dnl allow_localhost ')') dnl ifdef(`confSMTP_SERIALIZE_HOSTS', `ifelse(confSMTP_SERIALIZE_HOSTS, `NO', `', `dnl serialize_hosts = +serialize_hosts ')') dnl dnl ifdef(`confSTARTTLS_SKIP_USING', `ifelse(confSTARTTLS_SKIP_USING, `NO', `', `dnl dnl hosts_avoid_tls = +skip_tls_using dnl ')') dnl hosts_avoid_tls = ${if match{$address_data}{\N\/avoid_tls\N}{*}{ifdef(`confSTARTTLS_SKIP_USING', `ifelse(confSTARTTLS_SKIP_USING, `NO', `', `+skip_tls_using')')}} dnl sinclude(confSITE_DIR`/configure.remote_smtp6_transport_options')dnl dnl ifdef(`confMAIL_BACKUP', `ifelse_strstr(confMAIL_BACKUP, `ROUTER_REDIRECT', `dnl headers_remove = ${if eq{$local_part@$domain}{confMAIL_BACKUP_ADDR}{}{X-Recipients}} ')') dnl dnl ifelse_strstr(confAUTH_RESULTS_ADD, `CUSTOM', `dnl headers_remove = _confAUTH_RESULTS_ADD_CUSTOM_HEADER_ ') dnl ifelse_strstr(confAUTH_RESULTS_ADD, `CUSTOM', `') dnl define(`AUTHENTICATION_RESULTS_REMOVED', `NO')dnl ifelse_strstr(confAUTH_RESULTS_ADD, `DEFAULT', `dnl ifelse_strstr(confARC, `SIGN', `', `dnl headers_remove = Authentication-Results define(`AUTHENTICATION_RESULTS_REMOVED', `YES')dnl ') dnl ifelse_strstr(confARC, `SIGN', `', `') ') dnl ifelse_strstr(confAUTH_RESULTS_ADD, `DEFAULT', `') dnl ifelse(confAUTH_RESULTS_HIDE_ROOT_FORWARD, `REMOTE', `dnl ifelse(AUTHENTICATION_RESULTS_REMOVED, `YES', `', ` # блокировка добавления кастомного и штатного заголовков Authentication-Results при пересылке писем из командной строки от имени пользователя root в исходящих письмах headers_remove = ${if eq{$acl_m_auth_results_hide}{yes}{Authentication-Results}{X-Authentication-Results-Fake}} ')dnl ifelse(AUTHENTICATION_RESULTS_REMOVED, `YES', `', `') ')dnl ifelse(confAUTH_RESULTS_HIDE_ROOT_FORWARD, `REMOTE', `') dnl ifelse(confSMTP_AUTH_RELAY, `NO', `', `dnl headers_remove = X-Warn-Auth-Relay ') dnl dnl max_rcpt = 1 return_path = ${srs_encode{SRS_SECRET}{$return_path}{$original_domain}} ') dnl ifelse(confDNSLOOKUP6_ENABLE, `NO', `', `') dnl ') dnl ifelse_strstr(confIPv6, `YES', `') define(`TRANSPORT', `')dnl define(`TRANSPORT', `remote_smtp_srs')dnl remote_smtp_srs: driver = smtp ifdef(`confSMTP_AUTH_CLIENT', `ifelse(confSMTP_AUTH_CLIENT, `NO', `', `dnl hosts_try_auth = +hosts_try_auth ')') dnl ifdef(`confFALL_BACK_MX', `ifelse(confFALL_BACK_MX, `NO', `', `dnl define(`_I_',`eval(index(confFALL_BACK_MX,` ') >= 0)')`'ifelse(_I_,`1', ` fallback_hosts = ${sg{confFALL_BACK_MX}{ }{}}', ` fallback_hosts = confFALL_BACK_MX') ')') dnl ifdef(`confFALL_BACK_MX_LOCALHOST_ENABLE', `ifelse(confFALL_BACK_MX_LOCALHOST_ENABLE, `NO', `', `dnl allow_localhost ')') dnl ifdef(`confSMTP_SERIALIZE_HOSTS', `ifelse(confSMTP_SERIALIZE_HOSTS, `NO', `', `dnl serialize_hosts = +serialize_hosts ')') dnl dnl ifdef(`confSTARTTLS_SKIP_USING', `ifelse(confSTARTTLS_SKIP_USING, `NO', `', `dnl dnl hosts_avoid_tls = +skip_tls_using dnl ')') dnl hosts_avoid_tls = ${if match{$address_data}{\N\/avoid_tls\N}{*}{ifdef(`confSTARTTLS_SKIP_USING', `ifelse(confSTARTTLS_SKIP_USING, `NO', `', `+skip_tls_using')')}} dnl sinclude(confSITE_DIR`/configure.smtp_transport_options')dnl sinclude(confSITE_DIR`/configure.remote_smtp_transport_options')dnl dnl ifdef(`confMAIL_BACKUP', `ifelse_strstr(confMAIL_BACKUP, `ROUTER_REDIRECT', `dnl headers_remove = ${if eq{$local_part@$domain}{confMAIL_BACKUP_ADDR}{}{X-Recipients}} ')') dnl dnl ifelse_strstr(confAUTH_RESULTS_ADD, `CUSTOM', `dnl headers_remove = _confAUTH_RESULTS_ADD_CUSTOM_HEADER_ ') dnl ifelse_strstr(confAUTH_RESULTS_ADD, `CUSTOM', `') dnl define(`AUTHENTICATION_RESULTS_REMOVED', `NO')dnl ifelse_strstr(confAUTH_RESULTS_ADD, `DEFAULT', `dnl ifelse_strstr(confARC, `SIGN', `', `dnl headers_remove = Authentication-Results define(`AUTHENTICATION_RESULTS_REMOVED', `YES')dnl ') dnl ifelse_strstr(confARC, `SIGN', `', `') ') dnl ifelse_strstr(confAUTH_RESULTS_ADD, `DEFAULT', `') dnl ifelse(confAUTH_RESULTS_HIDE_ROOT_FORWARD, `REMOTE', `dnl ifelse(AUTHENTICATION_RESULTS_REMOVED, `YES', `', ` # блокировка добавления кастомного и штатного заголовков Authentication-Results при пересылке писем из командной строки от имени пользователя root в исходящих письмах headers_remove = ${if eq{$acl_m_auth_results_hide}{yes}{Authentication-Results}{X-Authentication-Results-Fake}} ')dnl ifelse(AUTHENTICATION_RESULTS_REMOVED, `YES', `', `') ')dnl ifelse(confAUTH_RESULTS_HIDE_ROOT_FORWARD, `REMOTE', `') dnl ifelse(confSMTP_AUTH_RELAY, `NO', `', `dnl headers_remove = X-Warn-Auth-Relay ') dnl dnl max_rcpt = 1 return_path = ${srs_encode{SRS_SECRET}{$return_path}{$original_domain}} define(`TRANSPORT', `')dnl ') dnl ifelse(SECTION, `TRANSPORTS', `')