Postfix masquerading or changing outgoing SMTP email or mail address

Postfix masquerading or changing outgoing SMTP email or mail address

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

However when angelo-01 send an email from shell prompt or using php it looks like it was send from angelo-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

# vi /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 angelo-01@server01.hosting.com change to angelo@domain.com
angelo-01@server01.hosting.com angelo@domain.com
Save and close the file. Create or update generic postfix table:

# postmap /etc/postfix/generic
Restart postfix:

# /etc/init.d/postfix restart
When mail is sent to a remote host via SMTP this replaces angelo-01@server01.hosting.com by angelo@domain.com mail address. You can use this trick to replace address with your ISP address if you are connected via local SMTP.

Leave a Reply

Your email address will not be published. Required fields are marked *

6 + 3 =

This site uses Akismet to reduce spam. Learn how your comment data is processed.