Use /etc/aliases for outgoing mail relayed by postfix with local domain
Solution 1
I guess you could use a virtual alias.
If example.com is your domain on postfix:
in /etc/postfix/main.cf
virtual_alias_maps = hash:/etc/postfix/virtual
in /etc/postfix/virtual
[email protected] dave
after editing
postmap hash:/etc/postfix/virtual
It should be working.
If I understood your question correctly, emails to [email protected] will now go to local user dave.
Solution 2
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 main.cf
:
recipient_canonical_maps = hash:/etc/postfix/recipient_canonical
Then create a file named /etc/postfix/recipient_canonical
and enter something like this:
[email protected] [email protected]
Finally hash it.
# postmap /etc/postfix/recipient_canonical
Solution 3
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.
Related videos on Youtube
David Xia
Updated on September 18, 2022Comments
-
David Xia over 1 year
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 example.com I want root cronjobs' error output to be mailed to my real [email protected] inbox. I have this relay working correctly.
But these root cronjobs are set by default to email to [email protected] which isn't a real email address. I have in my
/etc/aliases
:root: [email protected]
example.com isn't listed in postfix's main.cf's
mydestination
so postfix doesn't think this mail is local. It bypasses processing via/etc/aliases
and tries to send to [email protected].A workaround is adding
MAILTO=david
at the top of each cron file. But there are many. Another workaround is to setup [email protected] as a real inbox that forwards to [email protected]. 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
? -
MᴀʀɪᴜsᴢS over 10 yearsThis works for Centos 6 :) Thx
-
MᴀʀɪᴜsᴢS over 10 yearsThis is not working with relaying...