Let’s say that you just got a new server where you will run postfix. The main IP of the server has less than ideal IP reputation with an specific ISP, say hotmail, from the bad email practices of the previous owner. You are going to be a good sender, but before your IP reputation increases, you need to start sending emails which goes into inbox. But you can’t send from that IP because the emails end up in spam folder. A temporary workaround is to get a new IP and start sending from that IP. But your main IP has good reputation with other ISPs, and if you don’t send from it, it’s reputation will become neutral. In this situation, you can setuip specific routes for specific ISPs in postfix.
Lets say your IPs are like these:
192.168.40.2 #bad reputation with hotmail 192.168.40.3 # normal reputation 192.168.40.4 #normal reputation 192.168.40.5 #normal reputation
You can send your emails to hotmail from IP 192.168.40.3 so that they don’t end up in junk folder.
We are going to setup dedicated transports in postfix for each major ISP;
/etc/postfix/master.cf add these lines:
tptgmail unix - - - - - smtp -o smtp_bind_address=192.168.40.2 tpthotmail unix - - - - - smtp -o smtp_bind_address=192.168.40.3 tptyahoo unix - - - - - smtp -o smtp_bind_address=192.168.40.4 tptaol unix - - - - - smtp -o smtp_bind_address=192.168.40.5
/etc/postfix/transport add these lines:
gmail.com tptgmail: hotmail.com tpthotmail: yahoo.com tptyahoo: aol.com tptaol:
/etc/postfix/main.cf add these lines:
transport_maps = hash:/etc/postfix/transport
postmap /etc/postfix/transport as root, followed by
service postfix restart
This way, the major four ISP have dedicated SMTP transports for themselves. The emails to other ISPs will still go through the main IP of your server.