≡ Menu

Postfix setup catch-all email accounts using /etc/postfix/virtual

Q. How do I setup cacth-all email accounts under Postfix MTA? For example if an email send to me@domain.com, info@you.com and sales@you.com, should be sent to the same email address.

This is useful if anyone of user mistypes an email address when they send it to me, or just guesses at a valid email address, then they will likely get an error message from my server such as user / email mail box does not exist. So I wish to set up a “catch all” address

A. Mapping is done using /etc/postfix/virtual file.
# vi /etc/postfix/virtual
Append code as follows, replacing domain and emailusername with actual values:
@yourdomain.com emailusername

Save and close the file. Run following command:
# postmap /etc/postfix/virtual

Also make sure you have following line in /etc/postfix/main.cf file:
virtual_alias_maps = hash:/etc/postfix/virtual

If you just added above, line reload postfix:
# service postfix reload

Caution: if you set up a catch-all email address, you will likely receive more unsolicited (spam) email.

Share this tutorial on:

Like this? Follow us on Twitter OR support us by using Patreon

{ 14 comments… add one }
  • omar August 6, 2008, 9:02 am

    I need to do something similar. I need the domain to forward emails to email@otherhost.com when emails sent to email@myhost.com. Is there a way to do that?
    Thank you !

  • nixCraft August 6, 2008, 9:15 am

    create .forward file in users home directory (for email@myhost.com user) and put email ID email@otherhost.com.

  • sureshkumar February 26, 2009, 12:23 pm

    HI Vivek how can i Add multiple users for SMTP auth on postfix
    [smtp.gmail.com]:587 example@domain.com:passswd
    [smtp.gmail.com]:587 example1@domain.com:passswd1
    but are not support gmail ….. can you help me please ….
    in the virtual concepts support these concept………..am waiting for your reply…..

  • Rob March 13, 2009, 4:39 pm

    Bump on sureshkumar’s question

  • nixCraft March 13, 2009, 5:24 pm

    I don’t think so it is possible to use multiple gmail account. sasl_passwd totally depends upon first part (hostname) to determine correct username:password when there are multiple entries in sasl_passwd. You need unique hostname for multiple entries:

    foo.com              you@foo.com
    bar.com              you@bar.com
    foo.in                  you@foo.in

    However, you can use something as follows in /etc/postfix/sasl_passwd:

    user1@gmail.com           username1:password1
    user2@gmail.com           username2:password2

    Next set, /etc/postfix/sender_relay:

    user1@gmail.com           [smtp.gmail.com]:587
    user2@gmail.com           [smtp.gmail.com]:587

    Setup main.cf as follows:

    smtp_sender_dependent_authentication = yes
    sender_dependent_relayhost_maps = hash:/etc/postfix/sender_relay
    smtp_sasl_auth_enable = yes
    smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
    relayhost = [smtp.gmail.com]:587
  • Bob July 13, 2009, 2:35 pm

    What about if you have multiple domains and you all emails sent to bob@* to go to the bob user name but everything else to go to the jim username. How do you do that?

  • sumit September 11, 2009, 8:29 pm

    I want to configure postfix virtual so that all emails goes to one address.

    I can’t specify individual domain in virtual as I don’t know. Can anyone help me on this?

  • Nd May 31, 2010, 7:11 pm

    Possible solution for those looking to catch everything (any domain):

    Edit /etc/postfix/master.cf, change the ‘smtp’ declaration to:
    smtp inet n – – – – smtpd -o content_filter=verp

    And insert:
    verp unix – n n – 10 pipe user=USER_HERE argv=PATH_HERE

    Where ‘verp’ can be whatever you like, e.g. myfilter, mybouncehandler, etc.

  • mark mason February 23, 2011, 6:15 am

    I want to allow for email forwarding to my customers so we all have ourcityname.com as our email addresses that forward to yahoo or gmail accounts. I can do this by hand on cpanel but I need a solution with an api to set up email forwards. Anybody know of a product?

  • Sohail December 24, 2012, 3:20 pm

    I want to dynamically create different mail id’s (user1@abc.com, user2@abc.com,….)for a user(abc) but not different users and not even aliases. whenever a user sends an email to newly generated mail id(user1@abc.com) it sholud get delivered to user(abc)’s mail box. Can anyone solve this up?

  • omer January 13, 2014, 4:19 pm

    Thank you brother. Ä°t’s so good.

  • Apoorva September 9, 2015, 8:56 am

    i want to do email id mapping under one domain.

    for example : xyz@shine.com & abc@shine.com are two email id’s.
    i want to map both of them under sky@shine.com.

    as if anybody sends email on sky@shine.com,it shoud go to both xyz@shine.com & abc@shine.com.

  • Mihai December 10, 2015, 8:49 pm

    Hello, How can I redirect only or non-existent mailboxes on the server? if I have other maiboxes from the same domain, I dont want the catchall to be applied….
    How can I silent redirect and in the same time to send back a bounce message?

    Thank you!

Security: Are you a robot or human?

Leave a Comment

You can use these HTML tags and attributes: <strong> <em> <pre> <code> <a href="" title="">

   Tagged with: , , , , , , , , ,