Sign up ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I successfully configured Postfix to deliver messages to virtual mailboxes.

I can set aliases and pipes inside /etc/postfix/virtual and mailboxes inside /etc/postfix/virtual_mailbox files.

However, whenever I set a catch-all domain and point to a remote email address, it overrides all other virtual mailboxes and virtual aliases set in postfix. How can I set a catch-all forwarding to the remote email address when virtual mailbox is enabled?

I set catch-all like this:

Thanks for your help!

share|improve this question

1 Answer 1

The catchall should be in the virtual_alias_maps file (in your case /etc/postfix/virtual) and not in the virtual_mailbox file.

Take a look here, search the page for Mail forwarding domains and you'll find this example:

1 /etc/postfix/
2     virtual_alias_domains = ...other hosted domains...
3     virtual_alias_maps = hash:/etc/postfix/virtual
5 /etc/postfix/virtual:
6 postmaster
7        joe@somewhere
8       jane@somewhere-else
9     # Uncomment entry below to implement a catch-all address
10     #         jim@yet-another-site
11     ...virtual aliases for more domains...
share|improve this answer
Thanks for your answer. Yes, I already tried adding to my /etc/postfix/virtual table but once it's added, it overrides all other aliases and captures all emails. –  Cem Nov 17 '11 at 16:14
@Cem actually the manual says the examples shows how one would implement a catch-all virtual alias that receives mail for every address *not listed* in the virtual alias file. So it should work. Have you done postmap /etc/postfix/virtual after the modifications? –  Mr Shunz Nov 17 '11 at 16:20
@Cem but where is your config? –  c4f4t0r Jan 16 '14 at 15:42

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.