Wasn't sure where to post this, but I'm using PHPMailer class, so posted here.

TL;DR SPF ad DKIM pass, PRT record complete, no blacklisted ip, not spammy message, but they still go to spam.

Gmail (and most other mail hosts) are marking my messages as spam. They're not spam, they're purchase receipts, upcoming class reminders and thank you notes for attending a class. All sent from my bespoke database driven system, that looks for upcoming classes, and pulls the message and email addresses (and first names) from the database and sends the message.

It's been working fine for a couple of years, but I noticed a few months ago customers started complaining they weren't getting the mail they expected. It's now at the point where no Gmail user receive my messages to their inbox. Most other servers also flag as spam.

So I signed up for a VPS, to get away from possible bad server neighbors. I read up a lot on SPF and DKIM, and believe I have them set correctly. PTR seems to resolve to the right domain.

The email is not spammy at all, no content changes have any effect (including very simple plain text messages). They are currently HTML with a few linked images, including one open tracking pixel (src of spacer.phpid=12345). They include an unsub link. I also think I do follow the guidelines for sending mail set out by Google. There are very few html links, most are simple text that are linkafied by Gmail.

I'd be happy to provide any information you need that might help, but may need to be told how to provide, ie where will I get it for you. I'm not a total noob, but am new to VPS.

Personal details (domains, email addresses and IPs) have been obfuscated, but will message the original headers to anyone who can help. Link addresses have also been broken (changes to htt ps:// intentionally).

DMIK is enabled through cPanel SPF record set up by host is v=spf1 +a +mx +ip4:123.456.7.20 +ip4:123.456.7.207 -all

Here's the original message headers from the received message in the spam folder

Delivered-To: sentotaddress@gmail.com
Received: by with SMTP id p184csp1956256itc;
Tue, 19 Apr 2016 11:25:11 -0700 (PDT)
X-Received: by with SMTP id zk2mr5499232igb.2.1461090311026;
Tue, 19 Apr 2016 11:25:11 -0700 (PDT)
Return-Path: <info@mydomain.com>
Received: from vps.mydomain.com (vps.mydomain.com. [123.456.7.20])
by mx.google.com with ESMTPS id lo2si6108912igb.89.2016.
for <sentotaddress@gmail.com>
(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);
Tue, 19 Apr 2016 11:25:10 -0700 (PDT)
Received-SPF: pass (google.com: domain of info@mydomain.com designates 123.456.7.20 as permitted sender) client-ip=123.456.7.20;
Authentication-Results: mx.google.com;
dkim=pass header.i=@mydomain.com;
spf=pass (google.com: domain of info@mydomain.com designates 123.456.7.20 as permitted sender) smtp.mailfrom=info@mydomain.com
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;
d=mydomain.com; s=default; h=Content-Transfer-Encoding:
bh=l630T1O7H48Yzm8wbX3YlSOHH9n09reeSZJ7fdMuFOs=; b=vfiNWlzAJpR4W9n4FJoelK5Oqy
Received: from hostaccountname by vps.mydomain.com with local (Exim 4.86_1)
(envelope-from <info@mydomain.com>)
id 1asaKc-0002YD-NS
for sentotaddress@gmail.com; Tue, 19 Apr 2016 12:25:02 -0600
To: sentotaddress@gmail.com
Subject: Test 409
X-PHP-Script: mydomain.com/cron_mass_mailer.php for 123.456.7.207
Date: Tue, 19 Apr 2016 12:25:02 -0600
From: Simon lastname <info@mydomain.com>
Reply-To: Simon lastname <info@mydomain.com>
Message-ID: <dcdd902d9d1e0ff42ee195a8e17b2562@mydomain.com>
X-Mailer: PHPMailer 5.2.14 (htt ps://github.com/PHPMailer/PHPMailer)
MIME-Version: 1.0
Content-Type: multipart/alternative;
Content-Transfer-Encoding: 8bit
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - vps.mydomain.com
X-AntiAbuse: Original Domain - gmail.com
X-AntiAbuse: Originator/Caller UID/GID - [501 512] / [47 12]
X-AntiAbuse: Sender Address Domain - mydomain.com
X-Get-Message-Sender-Via: vps.mydomain.com: authenticated_id: hostaccountname/from_h
X-Authenticated-Sender: vps.mydomain.com: info@mydomain.com

This is a multi-part message in MIME format.

Content-Type: text/plain; charset=us-ascii

14 address, city, sa 12345

Hi Simon,

Great to see you last night, I always enjoy catching up with you guys. And thanks for letting me test this out. I hope it makes it into your inbox!

If it doesn't, could copy and paste and results from any spam filter, or headers, to see if there's any clues to see where the issues are.


Tel/SMS: (123) 123-1231
htt ps://mydomain.com

Connect online