Fix lookup of alias domains
Currently alias domains are implemented as @source to @destination aliases. This will first accept every user of the alias source domain and then bounce the users that are not valid.
I suggest to fix this with two config files: mysql-virtual_aliasdomain_users.cf
...
dbname = dbispconfig
table = mail_user, mail_forwarding
select_field = concat(substring_index(mail_user.email,'@',1),'@',substring_index(mail_forwarding.destination,'@',-1))
where_field = concat(substring_index(mail_user.email,'@',1),'@',substring_index(mail_forwarding.source,'@',-1))
additional_conditions = and mail_forwarding.type = 'aliasdomain' and mail_forwarding.active = 'y' and mail_forwarding.server_id = 2 and mail_user.postfix = 'y' and mail_user.server_id = 2
hosts = 127.0.0.1
mysql-virtual_aliasdomain_forwards.cf:
...
dbname = dbispconfig
table = mail_forwarding as domain, mail_forwarding as email
select_field = email.destination
where_field = concat(substring_index(email.source,'@',1),'@',substring_index(domain.source,'@',-1))
additional_conditions = and domain.type = 'aliasdomain' and email.type in ('alias', 'forward') and domain.active = 'y' and email.active = 'y' and domain.server_id = 2 and email.server_id = 2
hosts = 127.0.0.1
And used in main.cf similiar to the following:
virtual_alias_maps = hash:/var/lib/mailman/data/virtual-mailman proxy:mysql:/etc/postfix/mysql-virtual_forwardings.cf proxy:mysql:/etc/postfix/mysql-virtual_email2email.cf proxy:mysql:/etc/postfix/mysql-virtual_aliasdomain_users.cf proxy:mysql:/etc/postfix/mysql-virtual_aliasdomain_forwards.cf
Edited by Ralf Schlatterbeck