I'm getting the following error when trying to send to some domains: 550 5.7.1 <mail@domain.com>... Fix reverse DNS for MY_SERVER_IP_ADDRESS, or use your ISP server. Why is this happening and how do I fix it?
To fix this, you need to make sure that your PTR record for your server's IP address corresponds to your server's advertised hostname.
Your hosting provider (or whoever provided you with the IP address) should be able to help you with this, as reverse DNS administration (usually) lies with the controlling ISP, normally defined in WHOIS.
Essentially, whatever IP your server resolves to must have a reverse DNS pointing to the same hostname, or at a minimum Postfix's myhostname configuration variable, which is the name it uses when sending a HELO request to another SMTP server.
This is more than simply good practice when you run a public mailserver, as checking PTR addresses is part of the anti-spam setup of many mailserver administrators (including me) due to the fact that many spammers use dynamic IP addresses or non-matching A/PTR combinations.
A slightly more in-depth explanation is this:
•The bounce message you're seeing is being generated by the receiving MTA at mail.domain.com.
•This server sees that your Postfix server is using the IP 1.2.3.4 (I've used a placeholder).
•The receiving MTA checks the RDNS entry for 1.2.3.4 against the hostname that it appears to be from according to the HELO it receives.
•If the RDNS matches, it shows you are a responsible mailserver admin and the mail passes that particular check.
•Be aware that this is just one check, and your message may fail others.