If all of the email you send to gmail (google) addresses are getting flagged as spam, but your server is clean, and not on any other blacklists, then something to check is if you have IPv6 enabled in Exim, but not in your SPF record.
In a cPanel update, they added the following option to the server
disable_ipv6
If this is not disabled, and your server has an IPv6 IP address bound to it, then Exim will send email out using that IPv6 address. So if you do not have the IPv6 address in your SPF record, then Google will see this as an unauthenticated email, and flag it as spam.
There are two ways to correct this.
- Turn the above option ON, which turns off IPv6 in Exim
- Add your IPv6 address to your SPF record
To turn the option on, log into your WHM, click on Exim Configuration Manager, then click on Advanced Editor. Scroll down until you see “Add additional configuration setting” (It should be right above the section labeled “Section: BeginACL”). Select the option “disable_ipv6” from the drop down list, and set the value to “true” (without the quotation marks)
Click on Save at the bottom of the page, and you’re done.
If you want to leave it enabled, then you need to add the IPv6 address to your SPF record. Adding the following to your existing record, includes the IPv6 address
+ip6:fdcf:0851:5144:bff3:xxxx:xxxx:xxxx:xxx
In a full SPF record, it’ll look something like this.
yourdomain.com. TXT “spf1 +a +mx +ip4:192.168.1.1 +ip6:fdcf:0851:5144:bff3:xxxx:xxxx:xxxx:xxxx ~all”
Replacing the ip4 and ip6 with your own IP addresses