During the preparation of the iOS/OS X SOGo autoconfiguration tool, I noticed a few quirks. In order to make it easier for others to use these profiles, I am documenting what is missing in the official documentation or does not work according to specs (i.e., which is broken), in the hope that .mobileconfig files will be used more frequently.
Most of the results below refer to iOS 6.x and OS X 10.8 aka Mountain Lion. Please let me know about your experience with other versions.
In iOS, everything works as expected and documented. However, OS X ignores the Mail address: The EmailAddress key is ignored, instead, a (typically wrong) address is computed by joining the login name and the IMAP server’s host name. This results in addresses such as email@example.com, or, when the IMAP server supports multiple domains, in firstname.lastname@example.org@imap.mailhoster.net, clearly not what is expected. As the mail address from a .mobileconfig profile cannot be changed in Preferences, this is a disaster, causing people to create wrapper apps which edit the plist after installation.
The CalDAVPrincipalURL key is ignored both by iOS and OS X. Instead, the server given by CalDAVHostName, CalDAVPort, and CalDAVUseSSL keys is contacted and the URL /.well-known/caldav is retrieved (in accordance to RFC 6764). Thus, the CalDAV server provider has to ensure that /.well-known/caldav is redirected to the real CalDAV URL.
Example web server configuration can be found here.
iOS and OS X provide a conflicting treatment of CardDAVPrincipalURL: iOS requires an absolute URL (e.g. https://cards.example.com/principal/user/), while OS X will prepend the information in the CardDAVHostName, CardDAVPort, and CardDAVUseSSL fields.
This means, that the CardDAV configuration section needs to differ depending on the device it should be installed on.
Working examples can be retrieved here.