Skip to content

Instantly share code, notes, and snippets.

@iharosi
Last active August 29, 2015 14:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save iharosi/697d5fe9ddabf1902d13 to your computer and use it in GitHub Desktop.
Save iharosi/697d5fe9ddabf1902d13 to your computer and use it in GitHub Desktop.
Postfix masquerading or changing outgoing SMTP email or mail address

#Postfix masquerading or changing outgoing SMTP email or mail address via http://www.cyberciti.biz/tips/howto-postfix-masquerade-change-email-mail-address.html

Address rewriting allows changing outgoing email ID or domain name itself. This is good for hiding internal user names. For example: SMTP user: tom-01 EMAIL ID: tom@domain.com Server name: server01.hosting.com

However when tom-01 send an email from shell prompt or using php it looks like it was send from tom-01@server01.hosting.com

In some cases internal hosts have no valid Internet domain name, and instead use a name such as localdomain.local or something else. This can be a problem when you want to send mail over the Internet, because many mail servers reject mail addresses with invalid domain names to avoid spam.

Postfix MTA offers smtp_generic_maps parameter. You can specify lookup tables that replace local mail addresses by valid Internet addresses when mail leaves the machine via SMTP.

Open your main.cf file

vim /etc/postfix/main.cf

Append following parameter

smtp_generic_maps = hash:/etc/postfix/generic

Save and close the file. Open /etc/postfix/generic file:

vi /etc/postfix/generic

Make sure tom-01@server01.hosting.com change to tom@domain.com tom-01@server01.hosting.com tom@domain.com

Save and close the file. Create or update generic postfix table:

postmap /etc/postfix/generic

Restart postfix:

service postfix restart

When mail is sent to a remote host via SMTP this replaces tom-01@server01.hosting.com by tom@domain.com mail address. You can use this trick to replace address with your ISP address if you are connected via local SMTP.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment