Use SPF to Avoid a Spam Sunburn

One of the most common questions we get here at SendPress is how do we stop our WordPress email newsletters from ending up in the spam or junk folder. While there is no single way to ensure that your e-mail messages do not end up in the spam folder, there are a few ways you can improve your chances of reaching the inbox. Perhaps one of the easiest and most effective methods is to use SPF records.

Sunblock?

Just like you wouldn’t go spend the day at the beach without putting on any sunblock (if you’re like me you probably use a very high SPF and maybe an umbrella), you should never try sending bulk e-mail without an SPF DNS record. By now you may be wondering what an SPF DNS record is and how to set one up. SPF stands for Sender Policy Framework.  In its simplest terms, it is a way for the domain owner to verify that the e-mail server sending messages on behalf of that domain is authorized to do so. Pretty much every e-mail server in the world that receives an e-mail will do a DNS lookup on that domain to determine whether the IP address sending the e-mail is authorized to do so. If you don’t have a valid SPF record set up in your DNS it will increase the likelihood of your message be marked as spam. When a valid SPF record is found, the receiving e-mail server will typically lower your spam score thereby decreasing the likelihood of your message being marked as spam.

Below is a very basic example of what an SPF record looks like using the Go Daddy DNS manager.  With some DNS providers you don’t need to specify host, but with Go Daddy you use the “@”.

godaddy-spf-google

SPF records are unique so don’t expect to copy someone else’s. But if you break them down into their pieces, you can very quickly create the correct one for your site. One thing that they should all have in common is the start and the end. So no matter what IP addresses/mail server may send e-mail for you, you  always start with the same base. Think of the SPF record as a sandwich where you have two slices of bread (below) then you need to decide what kind of meat or vegetables you want to add.

Start With The Bread

Every SPF record starts with the same basic start and end. The code for “the bread” is below and should be what you start with when building your SPF DNS record.

v=spf1 ~all

Where’s the beef?

In my sandwich analogy the bold items below are the bread and the meat is in italics. When building your SPF DNS record you just need to decide what to put on your sandwich.

v=spf1 a:sendpress.com mx include:_spf.google.com ~all

In the example above, I am adding the following pieces to my “sandwich”:

a:sendpress.com: In case I decide to send messages from the IP of my website, I will add this to my SPF record (even if I don’t plan on sending e-mail newsletters from my webserver. Even things such as password resets should have a good SPF record.

mx: It’s always a good idea to add your MX record to your SPF record. Your MX record indicates the servers that receive e-mail for your domain. Oftentimes, the MX record also sends e-mail for your domain.

include:_spf.google.com: If you have a Gmail account, either a free one or Google apps, you should add this to your SPF record because it will cover all of Google’s IP addresses that may send e-mail.

For a full list of all the different options for your SPF DNS record, read more at Wikipedia.

Let us know if you found this helpful in the comments.

2 Comments

  1. elaine on March 14, 2013 at 9:28 pm

    I have no idea what you are talking about here. I use HostGator. Am I supposed to call them up and set this SPF up somewhere? Is this what you are suggesting? If so, you need to be a bit more clear, and perhaps give more detailed instructions (like: WHERE to set this up, HOW to set it up…).

    thank you



    • doug on March 14, 2013 at 10:42 pm

      You need to create the DNS record with your DNS provider. I can’t tell you who that us unless you share your domain, bit I’m happy to help.