MacOS – How to set up OS X Server Mail to auto-configure Mac Mail IMAP clients

emailimapmacososx-server

Our Thunderbird mail clients successfully pick up their IMAP settings for their accounts on (Mountain Lion) OS X Server automatically. They just supply their email addresses and Open Directory passwords at mail account setup and Thunderbird does the rest for the client user.

At autoconfig.myexample.com we simply supply a small XML file containing IMAP and SMTP server names and which connection protocols are offered.

Mac Mail does not use this convention though. So the question is: how does the Mac Mail client do autoconfigure – if at all?

I see many discussion threads concerning Mac Mail "autodetect"ing MS Exchange account settings but none answering the question re Mac Mail to IMAP accounts on OS X Server.

If Mac Mail can make it easy for Exchange users I assume that it can also make it easy to get their mail from OS X Server? But how?

Best Answer

I did a little digging and found out a little of what OSX tries to do to auto-configure an email account.

In system preferences when adding a mail account, OSX makes a POST to https://mac-services.apple.com/iconfig/dconf the post parameters are:

domain: EMAIL_DOMAIN_THE_USER_ENTERED.com
version: 1
capabilities: MACOSX

For a service like gmail the following is returned:

<domain>
  <name>gmail.com</name>
  <description>Gmail</description>
  <service>
    <hostname>imap.gmail.com</hostname>
    <port>993</port>
    <protocol>IMAP</protocol>
    <ssl/>
    <requires>MACOSX</requires>
    <authentication>PLAIN</authentication>
  </service>
  <service>
    <hostname>smtp.gmail.com</hostname>
    <port>587</port>
    <protocol>SMTP</protocol>
    <ssl/>
    <requires>MACOSX</requires>
    <authentication>PLAIN</authentication>
    <usernameIncludesDomain/>
  </service>
</domain>

Unfortunately, for my domain I receive the following response:

<domain>
  <name>EMAIL_DOMAIN_THE_USER_ENTERED.com</name>
  <unknown/>
</domain>

As far as I can tell after an unknown response OSX gives up and requires a user to enter the details manually. Capturing network packets I see no attempt by OSX to fallback to using SRV DNS records, or the Exchange Autodiscover.xml mechanism.

If I get a chance I will open a support ticket with apple to see how one gets added to their mac-services list.