Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is there a tool to help me figure out why my emails are getting flagged as spam?

I have a PHP code base that sends permitted, opt-in email to users. I was using the PHP mail() function but that was getting me into issues with spam. So a few months back I switched to SendGrid and am now using their API. I am now handling one of my more important emails (it is a hotel reservation site and this is the hotel confirmation email) instead of letting an affiliate partner do it and they are getting flagged as spam. Is there any kind of tool where I can copy/paste the source of the email and have it flag potential problems?

like image 859
Andrew G. Johnson Avatar asked Feb 08 '11 14:02

Andrew G. Johnson


People also ask

Why do my emails keep getting flagged as spam?

So spam filters are on high alert, and spelling and grammatical errors could land your email in the spam folder. Not to mention, you're going to look unprofessional in the eyes of your audience. So you need to be extra diligent about double and even triple-checking each email before sending it out.

Why am I getting so much spam email all of a sudden?

Spammers buy email addresses from special providers in bulk to add them to their mailing lists. If you've noted a sudden increase in the number of spam emails landing in your account, there's a high chance that your address was part of a list recently sold to one or more scammers.


3 Answers

Limus may be of some use (this is not free but may have a free trial).

Ultimately spam filters will return either a score letting you know how "spammy" an email is (normally a decimal number) or nothing at all- if a spam filter was to reveal the exact reasons your email was failing to be sent, spammers would be able to tailor their email content much more effectively.

A few tips to get round the issue of your emails being flagged as "spam":

  • Read this guide by google and make sure at the very least you have a SPF record set up for the domain you send email from.
  • If you send "promotional" (even if this is opt. in) emails and your confirmation emails from the same domain address, make sure the from address differs. If at all possible, send your promotional and essential emails from different domains/mail servers.
  • Use postmaster services (the most useful one to me at work is the hotmail service) to give you some insight to how many emails are reaching or failing to reach their target (along with a rough indication of their spam score)
  • Keep track of DSN (delivery service notification) reports. If you are getting a lot of reports with errors such as "address does not exist", "permanently moved", etc, then remove these email addresses from your mailing list.

EDIT: ignore all the stuff about domains, just re-read the part about mail being sent from SendGrid.

like image 80
WiseGuyEh Avatar answered Oct 23 '22 07:10

WiseGuyEh


You could always feed the e-mail through spamassassin before sending them, and examine the response from that to see why your mailings might be flagged as spam. See this blog post for some advice on how to access spamassassin from a PHP script, and the responses to this SO question for a couple of alternatives.

like image 25
Mark Baker Avatar answered Oct 23 '22 07:10

Mark Baker


The only tool I know of that will analyze an actual message and report any signs of spam potential is Delivery Doctor by MailChimp.

http://www.mailchimp.com/features/delivery-doctor/

You have to have a paid account with them to use it, though.

Some words set off spam alarms, here's a list of 100 of them:

http://blog.mannixmarketing.com/2009/08/spam-trigger-words/

Malformed html can do it, so can too many exclamation marks.

like image 2
Peter G Avatar answered Oct 23 '22 09:10

Peter G