Say that I want to send mail from my own servers at example.com.

As I understand it, I can specify the following SPF record and have any server addressed by an A record under example.com included by the SPF record. So evaluation of mail sent from mailserver1.example.com, mailserver2.example.com would result in a pass:

v=spf1 a ~all

If however I am using an outsourced mail sender say wesendmail.com, I would use an SPF record like this:

v=spf1 include:wesendmail.com ~all

My main question is - If wesendmail.com sends mail from servers at mailserver1.wesendmail.com, mailserver2.wesendmail.com, do I need to include additional SPF records for these servers, or are they captured by the above SPF record?

Also, if I do need to include additional records, how would I find out what their mail servers are? NSLOOKUP domain transfer attempts are blocked by most DNS servers.


The include clause in your SPF record fetches the corresponding SPF record from wesendmail.com and includes that in-line in your record. So assuming that wesendmail configures their record correctly, you don't need to do anything further.

  • 2
    I think this is an excellent answer, but would add a caveat that SPF is completely pointless if you finish with ~all. You can find big-time sysadmins on SF who treat ~all as grounds for rejection. If you're going to bother with SPF at all, please fully-enumerate your sending servers, and finish up with -all. – MadHatter supports Monica Jun 4 '13 at 8:52
  • Your comment regarding ~/- is backed up here docs.aws.amazon.com/ses/latest/DeveloperGuide/sender-id.html – gb2d Jun 4 '13 at 9:33

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.