{ 21 comments… read them below or add one }

1 Shoaibi June 4, 2009 at 10:24 am

hmmm, nice…


2 noneck June 8, 2009 at 11:27 pm

You could also leave the original address to keep a copy locally before forwarding, or have multiple email addresses seperated by commas.

vivek@cyberciti.com vivek@cyberciti.com, vivek@nixcraft.co.in


3 Gopal August 13, 2009 at 9:13 am
4 Mohammad Mateen October 30, 2009 at 8:46 pm

How i can get this functionality ?
Directory: /home/logmon Shell: /bin/bash
Never logged in.
Mail forwarded to “|/usr/local/bin/logmon.sh”
No mail.
No Plan.

Plz help


5 Mohammad Mateen October 30, 2009 at 8:47 pm

In simple words i want to forward a shell user email to some script


6 abi June 1, 2010 at 5:38 am


I have added the lines as per said and is working fine. Now i want remove the forwarding, so i removed the added lines and restarted the postfix. But still the script is running. can u tell a solution to fix it?


7 Anatoliy September 8, 2010 at 11:48 am

Possible you forget about

postmap /etc/postfix/virtual

after changes to the virtual config


8 David September 21, 2011 at 2:02 pm

I found a link with plenty of information on how to setup email forwarding on Ubuntu

Forward All incoming email to single address


9 William October 14, 2011 at 10:41 pm

Muchas Gracias!

Even though it is old, it worked perfectly for me – tip if you never used postfix: set the mailname to something useful or google will reject the emails.



10 Frank June 19, 2013 at 3:59 pm

can you specify this? How to set mailname?
I found gmail is rejecting the forwarded email.


11 Manuel December 22, 2011 at 10:18 am


how can u configure postfix to send EVERY E-Mail to exactly ONE User on your machine?

for example:

I create a user “mailarchiv”.

Every mail which goes to the Server “mail-05″ should be saved in the Mailbox of “mailarchiv”.

Can u give me a hint?


12 SAS January 16, 2012 at 1:38 pm

You had it there, didn’t you?

@yourdomain.com mailarchiv@yourdomain.com


13 A little help September 15, 2012 at 3:41 am

Here’s a little extra info that might help someone. I was going nuts looking for a way to forward any number of aliases to a single user based on regex. It’s similar to what this faq suggests and very easy, and it can be used for local and remote fowarding. Here’s the whole thing:

1) Add a user (this will be your catch-all): useradd tiger

2) Open your postfix config: vi /etc/postfix/main.cf

3) Add the following to the bottom of the file:

4) Create the virtual_config path: mkdir /etc/postfix/virtual_config

5) Open the alias domains file: vi /etc/postfix/virtual_config/virtual_alias_domains

6) Add all domains for which you wish to allow relays/forwarding to virtual_alias_domains file. Add one domain per line. For example, /etc/postfix/virtual_config/virtual_alias_domains:

7) Open your alias maps file: vi /etc/postfix/virtual_config/virtual_alias_maps

8) Add in your regex aliasing:

9) Restart postfix (note: reload doesn’t always do what you want. Just restart): service postfix restart

After that, all mail sent to your server and addressed to troy@example.com or troy@anything.com will be forwarded to the user tiger on the local machine AND to me@gmail.com

I hope that saves someone some looking.


14 KV November 17, 2012 at 4:11 pm

How can i forward from subdomain to main domian.

Ex: all email from subdomain @mail.maindomain.com to mail@maindomain.com



15 tony May 8, 2013 at 3:06 pm

I did this, precisely as described, and now all mail to my server is rejected.

cat /etc/postfix/virtual
tony@tonybaldwin.org tony@tonybaldwin.info
tony@tonybaldwin.me tony@tonybaldwin.info
tony@tonyb.us tony@tonybaldwin.info

can’t get mail to any of the .org, .me, or .us, and can’t even get mail to the .info address.
All of these addresses were working before I did this.
Clearly, I want to send them all to one address, the .info address,
but now nothing gets through at all.
This is on Debian Squeeze, if relevant.


16 tony May 8, 2013 at 3:17 pm

Also, blanking the virtual file and restarting postfix doesn’t put it back to working properly, either.
Following your instructions has hosed my mail server completely.
The e-mail addresses mentioned above are all in the mail db (mysql).
You do not mention whether this is relevant or not.
I was using them all as distinct mail address, and they were working, and I want to forward them all to one, now.
But if I can’t do that, at the very least, I’d like them to work as they before.
Currently none of them are working.


17 tony May 8, 2013 at 3:27 pm

well, I seem to have got it working as it was again.
I had to empty the /etc/postfix/virtual,
remove the virtual_alias_domains line in my main.cnf
I ran sudo newaliases
and reloaded postfix
and it’s back to the previous “normal” state.
Clearly I’ll have to seek how to forward my mail properly elsewhere.


18 Jeroen January 18, 2014 at 2:16 pm

thank you for this nice tutorial. I have been able to set up postfix, but the mails don’t go through.
I have made a catch all for my domain myvps.be to my email address. I am trying to send mails to smurf@myvps.be but they don’t appear in my mailbox.

This is the log I get when I send a mail: http://pastebin.com/raw.php?i=qQbKx2UL
I have replaced my own email address with ***MYMAIL*** for security reasons.


19 Eduardo Mozart de Oliveira February 24, 2014 at 9:32 pm

There is really useful comments here and the post was amazing, thanks!
If you followed the post, but still are not receiving e-mails, there is 2 things to check:

Try running “postconf -n” in the terminal and check for both options that you set in main.cf (virtual_alias_domains and virtual_alias_maps)

I checked that and it was still ok. But redirecting was not working.

So, reading the postfix log (/var/log/mail.info) i see a warning:
do not set mydestination and virtual_alias_domains the same. So, I edited mydestination and removed the domain and now it works.

mydestination = smtp.transjosp.com.br, transjosp.com.br

mydestination = smtp.transjosp.com.br


20 Eduardo Mozart de Oliveira February 24, 2014 at 9:34 pm

Just another note:
In /etc/postfix/virtual file, separate e-mails by space (not tabs).
test@test.com test@gmail.com


21 Arthur November 6, 2014 at 12:56 pm

how do i now disable the forwading of mails from my domain(@snl.com) to another (@yahoo.com)domain? I activated it, now i no longer want to receive the mails in my yahoo account…


Leave a Comment

Tagged as: , , , , , , , , , , , , ,

Previous Faq:

Next Faq: