ifelse_strstr(confVIRT_MDIR_ALIASES, `DOMAINS', `dnl dnl virtual_aliases_perdomain: driver = redirect ifdef(`confLOCAL_PART_SUFFIX', `ifelse(confLOCAL_PART_SUFFIX, `NO', `dnl', `dnl local_part_suffix = confLOCAL_PART_SUFFIX local_part_suffix_optional ')') dnl ifdef(`confLOCAL_PART_SUFFIX', `ifelse(confLOCAL_PART_SUFFIX, `NO', `', `')') dnl ifelse_strstr(confVIRT_MDIR_ALIASES, `DOMAINS_FILES', `dnl require_files = confVIRT_MDIR_DOMAIN_SETTINGS/${domain}/aliases data = ${lookup{$local_part}wildlsearch{confVIRT_MDIR_DOMAIN_SETTINGS/${domain}/aliases}{\ ${sg{\ ${sg{\ ${if match{$value}{\N.+(lookup |[\{\}])\N}{${expand:$value}}{$value}}\ }{\N(^|[ ,])([^@ ,]+)([ ,]|$)\N}{\$1\$2@${domain}\$3}}\ }{\N(^|[ ,])([^@ ,]+)([ ,]|$)\N}{\$1\$2@${domain}\$3}}\ }{}} ') dnl ifelse_strstr(confVIRT_MDIR_ALIASES, `DOMAINS_FILES', `') dnl ifelse_strstr(confVIRT_MDIR_ALIASES, `DOMAINS_DBM', `dnl require_files = confVIRT_MDIR_DOMAIN_SETTINGS/${domain}/aliases.db data = ${lookup{$local_part}dbm{confVIRT_MDIR_DOMAIN_SETTINGS/${domain}/aliases.db}{\ ${sg{\ ${sg{\ ${if match{$value}{\N.+(lookup |[\{\}])\N}{${expand:$value}}{$value}}\ }{\N(^|[ ,])([^@ ,]+)([ ,]|$)\N}{\$1\$2@${domain}\$3}}\ }{\N(^|[ ,])([^@ ,]+)([ ,]|$)\N}{\$1\$2@${domain}\$3}}\ }{}} ') dnl ifelse_strstr(confVIRT_MDIR_ALIASES, `DOMAINS_DBM', `') dnl file_transport = address_file pipe_transport = address_pipe reply_transport = address_reply directory_transport = delivery_to_virt_domain_by_filter ') dnl ifelse_strstr(confVIRT_MDIR_ALIASES, `DOMAINS', `') ifelse_strstr(confVIRT_MDIR_ALIASES, `SINGLE', `dnl dnl virtual_aliases: driver = redirect ifdef(`confLOCAL_PART_SUFFIX', `ifelse(confLOCAL_PART_SUFFIX, `NO', `dnl', `dnl local_part_suffix = confLOCAL_PART_SUFFIX local_part_suffix_optional ')') dnl ifdef(`confLOCAL_PART_SUFFIX', `ifelse(confLOCAL_PART_SUFFIX, `NO', `', `')') dnl ifelse_strstr(confVIRT_MDIR_ALIASES, `SINGLE_FILE', `dnl domains = +local_domains data = ${lookup{${local_part}@${domain}}\ wildlsearch{confVIRT_MDIR_ALIASES_SINGLE}{\ ${if match{$value}{\N.+(lookup |[\{\}])\N}{${expand:$value}}{$value}}\ }{\ ${lookup{$local_part}\ wildlsearch{confVIRT_MDIR_ALIASES_SINGLE}{\ ${if match{$value}{\N.+(lookup |[\{\}])\N}{${expand:$value}}{$value}}\ }{}}\ }} ') dnl ifelse_strstr(confVIRT_MDIR_ALIASES, `SINGLE_FILE', `') dnl ifelse_strstr(confVIRT_MDIR_ALIASES, `SINGLE_DBM', `dnl domains = +local_domains data = ${lookup{${local_part}@${domain}}\ dbm{confVIRT_MDIR_ALIASES_SINGLE.db}{\ ${if match{$value}{\N.+(lookup |[\{\}])\N}{${expand:$value}}{$value}}\ }{\ ${lookup{$local_part}\ dbm{confVIRT_MDIR_ALIASES_SINGLE.db}{\ ${if match{$value}{\N.+(lookup |[\{\}])\N}{${expand:$value}}{$value}}\ }{}}\ }} ') dnl ifelse_strstr(confVIRT_MDIR_ALIASES, `SINGLE_DBM', `') dnl file_transport = address_file pipe_transport = address_pipe reply_transport = address_reply directory_transport = delivery_to_virt_domain_by_filter ') dnl ifelse_strstr(confVIRT_MDIR_ALIASES, `SINGLE', `') ifelse_strstr(confVIRT_MDIR_ALIASES, `MYSQL', `dnl dnl virtual_aliases_mysql: driver = redirect ifdef(`confLOCAL_PART_SUFFIX', `ifelse(confLOCAL_PART_SUFFIX, `NO', `dnl', `dnl local_part_suffix = confLOCAL_PART_SUFFIX local_part_suffix_optional ')') dnl ifdef(`confLOCAL_PART_SUFFIX', `ifelse(confLOCAL_PART_SUFFIX, `NO', `', `')') domains = +local_domains data = ${lookup mysql{ \ confVIRT_MDIR_MYSQL_ALIAS \ }{${sg{$value}{\N[\n;]\N}{,}}}{}} file_transport = address_file pipe_transport = address_pipe reply_transport = address_reply directory_transport = delivery_to_virt_domain_by_filter ') dnl ifelse_strstr(confVIRT_MDIR_ALIASES, `MYSQL', `') ifelse_strstr(confVIRT_MDIR_ALIASES, `SQLITE', `dnl dnl virtual_aliases_sqlite: driver = redirect ifdef(`confLOCAL_PART_SUFFIX', `ifelse(confLOCAL_PART_SUFFIX, `NO', `dnl', `dnl local_part_suffix = confLOCAL_PART_SUFFIX local_part_suffix_optional ')') dnl ifdef(`confLOCAL_PART_SUFFIX', `ifelse(confLOCAL_PART_SUFFIX, `NO', `', `')') domains = +local_domains data = ${lookup sqlite{confSQLITE \ confVIRT_MDIR_SQLITE_ALIAS \ }{${sg{$value}{\N[\n;]\N}{,}}}{}} file_transport = address_file pipe_transport = address_pipe reply_transport = address_reply directory_transport = delivery_to_virt_domain_by_filter ') dnl ifelse_strstr(confVIRT_MDIR_ALIASES, `SQLITE', `') ifelse_strstr(confVIRT_MDIR_ALIASES, `LDAP', `dnl dnl virtual_aliases_ldap: driver = redirect ifdef(`confLOCAL_PART_SUFFIX', `ifelse(confLOCAL_PART_SUFFIX, `NO', `dnl', `dnl local_part_suffix = confLOCAL_PART_SUFFIX local_part_suffix_optional ')') dnl ifdef(`confLOCAL_PART_SUFFIX', `ifelse(confLOCAL_PART_SUFFIX, `NO', `', `')') domains = +local_domains data = ${sg{\ ${lookup ldapm{\ confVIRT_MDIR_LDAP_ALIAS\ }{\ ifdef(`confVIRT_MDIR_LDAP_ALIAS_RECURSIVE', `${lookup ldapm{\ confVIRT_MDIR_LDAP_ALIAS_RECURSIVE\ }{$value,}{}}', `$value,')\ }{}}\ ifdef(`confVIRT_MDIR_LDAP_ALIAS2', ` ${lookup ldapm{\ confVIRT_MDIR_LDAP_ALIAS2\ }{\ ifdef(`confVIRT_MDIR_LDAP_ALIAS2_RECURSIVE', `${lookup ldapm{\ confVIRT_MDIR_LDAP_ALIAS2_RECURSIVE\ }{$value,}{}}', `$value,')\ }{}}')\ ifdef(`confVIRT_MDIR_LDAP_ALIAS3', ` ${lookup ldapm{\ confVIRT_MDIR_LDAP_ALIAS3\ }{$value}{}}')\ }{\N[\n;]\N}{,}} file_transport = address_file pipe_transport = address_pipe reply_transport = address_reply directory_transport = delivery_to_virt_domain_by_filter ') dnl ifelse_strstr(confVIRT_MDIR_ALIASES, `LDAP', `') ifelse_strstr(confDELIVERY_TO, `PROCMAIL', `dnl DELIVERY(`procmail')dnl ') dnl ifelse_strstr(confDELIVERY_TO, `PROCMAIL', `') virtual_filters: driver = redirect ifdef(`confLOCAL_PART_SUFFIX', `ifelse(confLOCAL_PART_SUFFIX, `NO', `dnl', `dnl local_part_suffix = confLOCAL_PART_SUFFIX local_part_suffix_optional ')') dnl ifdef(`confLOCAL_PART_SUFFIX', `ifelse(confLOCAL_PART_SUFFIX, `NO', `', `')') ifdef(`confVIRT_MDIR_USERLIST', `ifelse(confVIRT_MDIR_USERLIST, `MYSQL', `dnl address_data = ${lookup mysql{\ confVIRT_MDIR_MYSQL\ }{$value}{}} # require_files = ${extract{home}{$address_data}}/.forward # condition = ${if exists{${extract{home}{$address_data}}/.forward}{yes}{no}} condition = ${if exists{${extract{home}{\ ${lookup mysql{\ confVIRT_MDIR_MYSQL\ }{$value}{}}\ }}/.forward}{yes}{no}} file = ${extract{home}{$address_data}}/.forward ', ` dnl ifdef(`confVIRT_MDIR_USERLIST', `ifelse(confVIRT_MDIR_USERLIST, `MYSQL', `')') ifdef(`confVIRT_MDIR_USERLIST', `ifelse(confVIRT_MDIR_USERLIST, `SQLITE', `dnl address_data = ${lookup sqlite{confSQLITE \ confVIRT_MDIR_SQLITE \ }{$value}{}} # require_files = ${extract{home}{$address_data}}/.forward # condition = ${if exists{${extract{home}{$address_data}}/.forward}{yes}{no}} condition = ${if exists{${extract{home}{\ ${lookup sqlite{confSQLITE \ confVIRT_MDIR_SQLITE \ }{$value}{}}\ }}/.forward}{yes}{no}} file = ${extract{home}{$address_data}}/.forward ', ` dnl ifdef(`confVIRT_MDIR_USERLIST', `ifelse(confVIRT_MDIR_USERLIST, `SQLITE', `')') ifdef(`confVIRT_MDIR_USERLIST', `ifelse(confVIRT_MDIR_USERLIST, `LDAP', `dnl address_data = ${lookup ldap{\ confVIRT_MDIR_LDAP\ }{$value}fail} # require_files = ${extract{home}{$address_data}}/.forward # condition = ${if exists{${extract{home}{$address_data}}/.forward}{yes}{no}} # condition = ${if exists{ifdef(`confVIRT_MDIR_PATH_LDAP', confVIRT_MDIR_PATH_LDAP, `${extract{maildir}{$address_data}}').forward}{yes}{no}} file = ifdef(`confVIRT_MDIR_PATH_LDAP', confVIRT_MDIR_PATH_LDAP, `${extract{maildir}{$address_data}}').forward ', ` dnl ifdef(`confVIRT_MDIR_USERLIST', `ifelse(confVIRT_MDIR_USERLIST, `SQLITE', `')') # require_files = `'confVIRT_MDIR_PATH`'/.forward condition = ${if exists{confVIRT_MDIR_PATH/.forward}{yes}{no}} file = `'confVIRT_MDIR_PATH`'/.forward ')') dnl ifdef(`confVIRT_MDIR_USERLIST', `ifelse(confVIRT_MDIR_USERLIST, `LDAP', `')') ')') dnl ifdef(`confVIRT_MDIR_USERLIST', `ifelse(confVIRT_MDIR_USERLIST, `SQLITE', `')') ')') dnl ifdef(`confVIRT_MDIR_USERLIST', `ifelse(confVIRT_MDIR_USERLIST, `MYSQL', `')') user = confVIRT_MDIR_USER group = confVIRT_MDIR_GROUP file_transport = address_file pipe_transport = address_pipe reply_transport = address_reply directory_transport = delivery_to_virt_domain_by_filter # no_expn # check_ancestor ifelse_strstr(confDELIVERY_TO, `FILTERS', `dnl allow_filter ') dnl ifelse_strstr(confDELIVERY_TO, `FILTERS', `')