Configure Postfix to Forward E-mail to an External Address


If you’re new to running your own web server or VPS, you may find the need to configure email addresses. Due to it’s popularity and proven stability, Postfix was used for this example and was tested used Debian 6 Squeeze. The following tutorial will outline the steps required for creating new email address for virtualhosts hosted on your server that forward to an external email address such as Yahoo! Mail, Gmail, Hotmail, or any other address that you desire.

Step 1 - Configure /etc/postfix/virtual

Configure virtual, adding entries for any new email addresses, accounts that are associated with them, and where you would like to forward the email to.

$ sudo nano /etc/postfix/virtual

Sample: (/etc/postfix/virtual) person
person1 person

Step 2 - Configure /etc/postfix/

Configure, adding entries for any new domains that you intended to use for e-mail. $ sudo nano /etc/postfix/

Sample: (/etc/postfix/

# Debian specific:  Specifying a file name will cause the first
# line of that file to be used as the name.  The Debian default
# is /etc/mailname.
#myorigin = /etc/mailname
smtpd_banner = $myhostname ESMTP $mail_name (Debian/GNU)
biff = no
# appending .domain is the MUA's job.
append_dot_mydomain = no
# Uncomment the next line to generate "delayed mail" warnings
#delay_warning_time = 4h
readme_directory = no
# TLS parameters
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
# See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for
# information on enabling SSL in the smtp client.
myhostname =
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = localhost, localhost.localdomain, localhost,,
relayhost =
mynetworks = [::ffff:]/104 [::1]/128
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
virtual_alias_domains =,
virtual_alias_maps = hash:/etc/postfix/virtual

Step 4 - Testing and Debugging

To test the configuration, simply send an e-mail to the new address to confirm that it’s functional. If you do not receive an e-mail or get a error response from the server, you can check the mail log with the following command: cat /var/log/


About the author

Will works as a technical lead for Kanopi Studios and provides Drupal support for a wide range of amazing projects. He current resides in South Carolina along with his wife, son and two dogs. When not working on tech projects, Will enjoys spending time with family and photographing the stars.