different main stream email services look at different things to authenticate. took me a while to get the right mix so my e-mails are always delivered, never junk or rejected.
Self hosting you need:
- DKIM (domain keys) private key signing on your email server
- PTR TXT records for your public DKIM key in your DNS
- rDNS (reverse DNS) setup on your IPS/Host with either your own DNS server or theirs resolving your email servers IP address to your email MX sub domain.
Reverse DNS can be tricky of you never dealt with it, you can contact your host and ask them to add your MX sub domain to your IP name server. my data center forward my entire IP blocks name server to my own so i can make my own changes.
Most IPS based email services (like comcast, centurylink, even AOL) use rDNS (over DKIM) to check that the sending server source IP address / mail server sending host name matches both the DNS, rDNS and MX recorded. and if it doesn't match its just rejected.
also helps to get white listed...
- use a email address from your host for day to day stuff.
- have your users email a support/contact email account directly instead of the 'contact us'
test your email singing here > https://www.port25.com/support/authentication-center/email-verification/
test your rDNS here > http://mxtoolbox.com/ReverseLookup.aspx
My site sends out around 12k emails a day with no problem.