Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free.

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'm using Ubuntu 12.04 with postfix configured as satellite system that relays outgoing mail to Gmail. For sake of example, my registered domain is I want root cronjobs' error output to be mailed to my real inbox. I have this relay working correctly.

But these root cronjobs are set by default to email to which isn't a real email address. I have in my /etc/aliases:

root: isn't listed in postfix's's mydestination so postfix doesn't think this mail is local. It bypasses processing via /etc/aliases and tries to send to

A workaround is adding MAILTO=david at the top of each cron file. But there are many. Another workaround is to setup as a real inbox that forwards to Is there a better way? I.e. is there a way to relay emails that have local domains but still process their addressee with /etc/aliases?

share|improve this question

I guess you could use a virtual alias.

If is your domain on postfix:

in /etc/postfix/

virtual_alias_maps = hash:/etc/postfix/virtual

in /etc/postfix/virtual    dave

after editing

postmap hash:/etc/postfix/virtual

It should be working.

If I understood your question correctly, emails to will now go to local user dave.

share|improve this answer
This works for Centos 6 :) Thx – MᴀʀɪᴜsᴢS Nov 25 '13 at 14:37

if david is also a local account, then you could have the alias line be local-only, and then set up the david account to do the forwarding. /etc/aliases would be:

root: david

You could then use other postfix rules or a .forward file on the david account to get the mail to gmail.

share|improve this answer
This is not working with relaying... – MᴀʀɪᴜsᴢS Nov 25 '13 at 14:38

Another solution is to use the recipient_canonical_maps configuration parameter of postfix. Compared to the virtual_alias_maps, the advantage is that myorigin neither needs to be in mydestination nor in virtual_mailbox_maps (which virtual_alias_domains defaults to). Thus, this postfix instance does not become the final destination for myorigin.

Add this to your

recipient_canonical_maps = hash:/etc/postfix/recipient_canonical

Then create a file named /etc/postfix/recipient_canonical and enter something like this:

Finally hash it.

# postmap /etc/postfix/recipient_canonical
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.