Fix inconsistent alias domain catchall behaviour

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.
This commit is contained in:
Julian Rother 2025-08-28 00:21:21 +02:00
parent e116d74fb7
commit d544011b66
Signed by: julian
GPG key ID: C19B924C0CD13341
4 changed files with 2 additions and 7 deletions

View file

@ -73,7 +73,7 @@ smtp_tls_security_level = may
# Postfixadmin and dovecot integration
relay_domains = $mydestination pgsql:/etc/postfix/pgsql/relay_domains.cf {{ mailserver.postfix.relay_domains }}
virtual_alias_maps = pgsql:/etc/postfix/pgsql/virtual_alias_maps.cf pgsql:/etc/postfix/pgsql/virtual_alias_domain_maps.cf pgsql:/etc/postfix/pgsql/virtual_alias_domain_catchall_maps.cf {{ mailserver.postfix.virtual_alias_maps }}
virtual_alias_maps = pgsql:/etc/postfix/pgsql/virtual_alias_maps.cf pgsql:/etc/postfix/pgsql/virtual_alias_domain_maps.cf {{ mailserver.postfix.virtual_alias_maps }}
virtual_mailbox_domains = pgsql:/etc/postfix/pgsql/virtual_domains_maps.cf
virtual_mailbox_maps = pgsql:/etc/postfix/pgsql/virtual_mailbox_maps.cf
virtual_transport = dovecot