On 2013-11-10 Christoph Kling wrote: > virtual_alias_domains = > > virtual_alias_maps = hash file with contents: > "@domain @anotherdomain" > > virtual_mailbox_domains = hash file with contents: > "@anotherdomain" > > virtual_mailbox_maps = hash file with contents: > "foo@anotherdomain"
$virtual_mailbox_domains lists *domains*, so its content should look like this: example.net User mappings, including catch-alls, should go into the respective map. In case of virtual mailboxes you must map the catch-all to an existing mailbox in $virtual_mailbox_maps, e.g.: f...@example.net example.net/foo b...@example.net example.net/bar @example.net example.net/bar The catch-all mapping must be the last mapping in the list, and you need to make sure that you re-hash the file after it's changed. See the VIRTUAL_README [1] for further details. Make sure that you don't remove the catch-all as long as you have the wildcard domain mapping in $virtual_alias_maps, because you'd produce bounces otherwise. A better approach (unless you really need a catch-all, which I somehow doubt) would be to auto-generate a virtual alias map by reading the virtual mailbox map and creating a mapping for each address found in it: f...@example.com f...@example.net b...@example.com b...@example.net ... This can be done with a Makefile or some other script. [1] http://www.postfix.org/VIRTUAL_README.html Regards Ansgar Wiechers -- "Abstractions save us time working, but they don't save us time learning." --Joel Spolsky