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

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.


Profile Manager is great if you're using it to deploy devices anyway. But, either way, if you're using OS X Mail Server, just have them add a new Internet Account (through ->System Preferences->Internet Accounts or Mail->Accounts, from the Mail.app client), scroll down to "Add Other Account..." and have them choose "Add an OS X Server account". This will configure all services granted to the user on the OS X Server, such as Mail, Calendar, Contacts, etc.

If you were using a custom POP3 / IMAP server, autodiscover configuration would be difficult to get going with the Mail.app client. But, being that you're using OS X Server accounts, you can directly specify that type of account when adding new Internet Accounts.

Also make sure to configure your autodiscover service locater record in DNS in the form of: _autodiscover._tcp