Preparing an Exchange Server environment and publishing it externally, I realize that the Autodiscover was not working properly, so I started some tests:
- Outlook domain joined computers: OK
- Outlook on non-domain joined computers: Fail
- OWA: OK
- ActiveSync: OK
Outlook on non-domain joined computers, or even those domains joined but outside the internal network, presents error in the Autodiscover response.
Checking with Fiddler, I noticed that Autodiscover response was received, but with only the SMTP, IMAP, and POP3 addresses:
No Exchange namespaces were returned, such as Outlook Anyware, MAPI Over HTTP, OWA, EWS, and etc. Besides that, Outlook shows the following error in the profile creation process:
As you can see in red the source response was the root domain: signorellidenis.com/autodiscover/autodiscover.xml
The right response would be came from the address autodiscover.signorellidenis.com/autodiscover/autodiscover.xml . So I was able to find out that who was actually responding the Autodiscover wasn’t my Exchange Server, but some internal provider service that hosts my website.
To better understand, let’s recap how Outlook does the Autodiscover process:
- SCP Query: Outlook will query Active Directory for the Autodiscover response. Using SCP requires domain joined computers and that direct connectivity to the Domain Controller. If the PC is outside the company’s network, this process will not work, so Outlook skips to the next step;
- Autodiscover root domain query: Outlook will query the primary email address domain. Using this domain as an example, it will search for https://smtpdomain.com/autodiscover/autodiscover.xml
- Autodiscover domain query: If the above search doesn’t respond, the next URL that Outlook will try is https://autodiscover.smtpdomain.com/autodiscover/autodiscover.xml
Then I did some research and confirmed my theory that there was another service responding the Autodiscover. The CPANEL which hosts my website was the source of the Autodiscover response, actually it offers the Autodiscover service for those who uses the Webmail in order configure Outlook or Thunderbird as IMAP or POP3 more easily. That’s why Autodiscover response brings only IMAP, POP3, and SMTP.
In order to fix the issue, I set the “Remote Mail Exchanger” option in CPANEL. In a nutshell, this option tells to CPANEL that you will use your own mail server and do not want to have Autodiscover responses provided by CPANEL.
Enable this option makes the CPANEL’s Autodiscover provide an HTTP 400 instead of the Autodiscover response HTTP200. When the Outlook receives the HTTP400 response, it jumps to the next search method using DNS (domain query):