We are currently in the process of migrating our on-premise Exchange environment to the O365 cloud but in the meantime I need setup a SPF record for current outgoing email and for the O365 pilot testing.

Would this following entry work since it looks like two SPF DNS records is not recommended:

v=spf1 include:mailserver.domain.com include:spf.protection.outlook.com -all

  • Does not seem to like the syntax when I run the SPF query tool. Would something like this be better? v=spf1 mx include:mailserver2.domain.com include:spf.protection.outlook.com ~all Jan 5 '15 at 19:45
  • I got it to go this time using v=spf1 mx a:mailserver2.domain.com include:spf.protection.outlook.com ~all. Thanks for the heads up on the SPF query tool. Jan 5 '15 at 19:56

You can test the existing recursion limits of your SPF records with dmarcian and you can simulate some changes using kitterman's site

I had some folks work with Microsoft to improve their SPF DNS recursion limits. They used to push people right up against the limit.

Update: here is a perl script that you could use to perform the SPF recursion and list all the records that will be applied based on your SPF records.

Without knowing your domain, I could not give you an accurate answer so you could use those tools as a starting point.


Some online SPF record checkers like SPF record checker can check the existence and validity of an SPF record on your domain.

It also checks if your DNS lookup count exceeds 10.


Yes You should be able to add as many hostnames or IPs as you like in the singe spf record.

  • 1
    Very much wrong. emailstuff.org/rfc/4408 "SPF implementations MUST limit the number of mechanisms and modifiers that do DNS lookups to at most 10 per SPF check, including any lookups caused by the use of the "include" mechanism or the "redirect" modifier.
    – ceejayoz
    Jan 5 '15 at 17:56

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.