As an anti-spam developer I often receive requests for tips on how to ensure an email will not be caught as spam by the filters. For many organizations email is the primary (and sometimes exclusive) communication medium. It is the lifeblood of their organization. There must be something a sender can do to guarantee their message will not be caught by the filters.
Unfortunately email delivery is not something you can guarantee. In short, spam filtering is up to the recipient organization; and you are dependent on their personal tastes and sensibilities. For example, I know of at least one client who refuses to accept any email with the word "invoice" in the subject. That is their personal prerogative, no matter how frustrating it is for their vendors.
That said, there are some things you can do to improve your email delivery rates.
1) Don't try to avoid spam filters! Don't use special techniques or tricks to get past spam filters. As an anti-spam developer, I am constantly looking for attempts to avoid spam filters. Those tips and tricks quickly become the signatures I look for when I create spam profiles. Instead of thinking of "getting past the spam filters" try and think of "best email practices" and "best business practices". This will serve you better in the long run.
2) Make sure your email infrastructure is properly configured and all DNS references are correct and validate against each other. Talk to your email and DNS administrator and get them to confirm the settings are correct.
For your mail server, the host name, the DNS "A record" and the DNS "PTR record" should all resolve and validate against each other. Every spam filter validates this information.
3) Make sure you have an SPF record set up in DNS. Make sure it references the SPF records of any mail providers you use. At the very least, your SPF record should look like the following:
v=spf1 mx a ~all
If you use a mail provider it should look like the following:
v=spf1 include:mymailprovider.net mx a ~all
4) Try not to be too salesy in your email messages. This is especially important with the email "subject" and "from" fields. These fields are strongly scrutinized by spam filters. If you are too strong in trying to get the attention of the recipient you will likely be flagged as spam.
5) Try to establish an ongoing e-mail conversation with your customers and try to maintain this correspondence. This behavior can establish good traffic patterns in spam filtering solutions. This will also let you know if there is a spam filtering issue, so you can deal with these problems early. Keep in mind, if I send email from me@mydomain and build up good email patterns with my client, then send something from sales@mydomain, this is a new email address in the eyes of the anti-spam server. Not only that, sales@mydomain looks like it may be a spam source and will be scrutinized more strongly.
If it is important to use a general email address that is not regularly used (e.g. sales@mydomain), consider doing the following:
a) Make the "from" address email@example.com,
b) include a "cc" address for sales@mydomain, and
c) set the "reply-to" address to be sales@mydomain.
6) Don't try to hide content or intention. Often email marketers will try to hide text by using an image to show company information or unsubscribe information instead of including the actual text in an email. Obfuscation of content is a common spam strategy and when identified is scored heavily.
Similarly, obfuscation of spammy words or phrases will definitely get you listed as spam.
7) Structurally, make sure your mailer includes a "plain text" version of your email if you are sending HTML formatted email. Similarly, don't use all images or one big image. Try and keep a balance between graphics and text.
8) For bulk email messages, such as newsletters, make sure you offer an unsubscribe method. Update your email lists as soon as someone unsubscribes. You should be able to say when/where/how the recipient signed up for the newsletter or became your customer (though this information does not need to be included in the email). This is a legal requirement in Canada and is a good practice everywhere.
9) For bulk email messages, you may want to consider breaking your email lists into different groups based on the responses you get from your recipients. When I send mass emails I track non-delivery and look for signs of recipient activity, such as email responses, message views (through web url usage and image viewing), etc.
Recipients who actively engage with you via your email campaigns should be treated differently than those recipients who show no signs of life. From the email-management/anti-spam side of things I can tell you that many users will simply discard email marketing they do not want, either manually or by creating filter rules on their local mail clients. They simply never see your mailings.
Even worse, I know of many users who actively train all their unwanted email as spam. These users have been taught not to trust and never to click on unsubscribe links. Instead they report all unwanted email as spam, regardless of who sent it. (They even train internal messages within their own organizations as spam!) This can adversely affect your domain reputation. If enough users do this you may find your organization listed with a poor reputation on services that track such things.
10) If there is a problem, follow up with your client as soon as possible. It's usually an easy fix to get your email address listed or your email released. If there is something specific about your email that is getting it blocked, you can get that information and hopefully prevent the situation repeating itself with other clients. It also gives you a chance to reach out and "touch" your client in a positive way. I find little problems like this, that can easily be fixed, will give your clients the impression that you are proactive and "on the ball". It just makes you look good. In fact, if your client has problems getting you white-listed within their own organization, it ends up making you look even better.
Early followup is always a win-win situation.
-- David Rutherford