This post is a bit embarrassing to write, as domain validation should be one of the easiest tasks with Office 365, but we recently had some problems ourselves so we thought we’d share our findings in the hope of helping others.
In our opinion the instructions on the Office 365 site are a bit confusing when it comes to the host name that should be entered which is probably the cause of most problems people encounter so we want to try and explain it another way.
In this example let’s say our domain is office365demo.com. The instructions tell you to create a host record called Office365demo.com in your existing domain. To some people that would mean the name being checked by Microsoft during the verification process would be office365demo.com.office365demo.com. The first office365demo.com is the host portion and the second office365demo.com is the domain portion. What Microsoft is really looking up when they verify the domain is just the text record for the domain itself, office365demo.com. In most DNS systems that means the host portion should be left blank or use an @ symbol. In the GoDaddy interface that looks like:
In Microsoft’s defense, if you do enter office365demo.com in the host field GoDaddy does convert it to the @ sign, but we feel it’s still confusing, as there are lots of cases where the Domain is registered by GoDaddy (or some other provider), but the name servers are housed at another organization. In that case, the instructions provided by Microsoft point you to update the reconds on GoDaddy, but what you really need to do is update at the organization that houses the name servers.
You also might be thinking, “I already have a @ text record, which is used by my SPF record”. From our research, you can safely have an additional @ text record, without causing problems with the SPF.
To check the txt record, one of the easiest tests is nslookup. To run nslookup go to a command prompt and type:
nslookup <hit enter>
at the > prompt type:
set q=txt <hit enter>
then type the domain name:
office365demo.com <hit enter>
It should return the verification value. So the entire process looks like:
Default Server: UnKnown
> set q=txt
office365demo.com text =