Solution ISPMail has an excellent tutorial. I used text files instead of MySQL because I don't have too many users.
Problem When sending mail to some servers, it bounces and you get the following response (this assumes you've already set up SPF records and DKIM signing correctly).
Solution Try setting up Reverse DNS. If you have a VPS you can do this at your VPS control panel, enter your mail server's hostname in the Reverse DNS box. You can check your configuration with
The mail system <...>: host eforward2.registrar-servers.com[...] said: 550 High probability of spam (in reply to end of DATA command)
$ host <ip-address>.
Problem You use Namecheap and the DNS TXT record for your DKIM public key is too long to fit in the box.
Solution Use another DNS service like Cloudns or DuckDNS to set the DKIM record, then use a CNAME record in your Namecheap to point to the real DKIM record. There is an excellent video tutorial by Vladimir Kochkovski available.
Problem When sending mail to some servers, it bounces and you get the following response (assuming you have set up SMTP and postfix correctly).
Solution Your hostname should be a FQDN, you can change it in
<...>: host [...] said: 550 5.7.1 <...>... Access denied - bogus HELO  <your-hostname> (in reply to RCPT TO command)
/etc/postfix/main.cf. For example, instead of modalduality, it should be modalduality.org. I don't believe it has to match the hostname of the system itself.
Problem You've just set up everything correctly and verified at allaboutspam.com but Gmail is still sending your e-mails to spam.
Solution Assuming you're not on any blacklists, and your mail is encrypted (if not there should be a broken lock icon under the subject in Gmail), and you're not set up for open relays, just wait a day or two. I believe Gmail sometimes caches addresses to automatically block.
Have anything to add? Let me know at surya at [this domain name].