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

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I set up Postfix/Dovecot with MySQL on a Linode instance from this tutorial, and I am now trying to forward all email that comes to to automatically. For some reason, even after extensive Googling I can't find a guide on how to do that with that particular setup. Does anyone know how?

share|improve this question

You have to certify that you have an alias_map or alias_database entry in your

alias_database = hash:/etc/aliases

then, inside that file set you alias as desired:


after that run newaliases and you are good to go.

share|improve this answer
Thanks, but this didn't seem to work. Since I have Postfix set up with MySQL, aren't aliases set up through there? Nothing I changed in /etc/aliases seemed to work, even after restarting the Postfix service. – Davis Sorenson Mar 17 '13 at 19:43
Can you post your postconf -n? Have you tried with alias_map? – fboaventura Mar 17 '13 at 23:07
Here's my postconf -n: I tried with both alias_database and alias_maps – Davis Sorenson Mar 18 '13 at 7:34
Have you checked the file and the table associated with it? – fboaventura Mar 18 '13 at 9:28

Maybe a bit late, but here's one really pleasant post on how to set mail forwarding with Postfix/Dovecot through the virtual_alias_map parameter:

where this article is tightly related to another one by the same author, which can be found here. I recommend checking them out both, because they refer each other too much anyway.

So it seems that the right way to do forwarding it through the virtual alias class and the virtual_alias_map parameter.

Full documentation on the virtual alias class can be found in the Postfix's docs reference here and here, and an example here.

So here's what Postfix say:

The virtual alias domain class.

Purpose: hosted domains where each recipient address is aliased to a local UNIX system account or to a remote address.

And finally the mail forwarding example:

Mail forwarding domains

Some providers host domains that have no (or only a few) local mailboxes. The main purpose of these domains is to forward mail elsewhere. The following example shows how to set up as a mail forwarding domain:

 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

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.