Postfix lookups for catchall case on non-alias domain: 1. user@domain - virtual_alias_maps.cf -> no match - virtual_alias_domain_maps.cf -> no match - virtual_alias_domain_catchall_maps.cf -> no match - custom virtual_alias_maps -> no match 2. user -> not relevant 3. @domain - virtual_alias_maps.cf -> **match**, lookup ends here With an alias domain the behaviour was: 1. user@domain - virtual_alias_maps.cf -> no match - virtual_alias_domain_maps.cf -> no match - virtual_alias_domain_catchall_maps.cf -> **match**, lookup ends here In this case custom virtual_alias_maps are ignored. With this change the behaviour is: 1. user@domain - virtual_alias_maps.cf -> no match - virtual_alias_domain_maps.cf -> no match - virtual_alias_domain_catchall_maps.cf -> no match - custom virtual_alias_maps -> no match 2. user -> not relevant 3. @domain - virtual_alias_maps.cf -> no match - virtual_alias_domain_maps.cf -> **match**, lookup ends here The change removes virtual_alias_domain_catchall_maps.cf entirely and rewrites virtual_alias_domain_maps.cf to also work for catchall lookups.
4 lines
417 B
Django/Jinja
4 lines
417 B
Django/Jinja
dbname = postfixadmin
|
|
user = postfix
|
|
hosts = unix:/var/run/postgresql
|
|
query = SELECT goto FROM alias, alias_domain WHERE alias_domain.alias_domain = '%d' AND alias_domain.target_domain = alias.domain AND left(alias.address, -length(alias.domain)) || alias_domain.alias_domain = '%s' AND left(alias.address, -length(alias.domain)) || alias.domain = alias.address AND alias.active = true AND alias_domain.active = true
|