Zimbra NG Modules/Zimbra NG Mobile/Autodiscover
Autodiscover
Zimbra NG Mobile - Autodiscover
The Autodiscover feature
At the beginning of the account creation process on any mobile devices, the client will try to autonomously detect the URL, domain and username before asking the user for an imput.
Zimbra NG Mobile provides its own Autodiscover handler in order to make this feature available in all supported version of Zimbra.
The Autodiscover feature will return the value of the "zimbraPublicHostname" domain property. Should such property be empty, it will fall back to the value of the "zimbraServiceHostName" server property.
The domain name is either sent explicitly by the client or deduced by the http/s request sent by the mobile phone.
Setting up Autodiscover
In order to be functional, the Autodiscover feature needs both a dedicated DNS record and a change in Jetty's configuration.
Step 1: DNS records
Two options are available:
- DNS A record: either create a DNS A record or a DNS CNAME record for autodiscover.[yourdomain.com], whose target must be the mailserver (or the appropriate proxy in case of a multistore infrastructure). In order for SSL to be properly functional, you'll either need a wildcard SSL certificate for [yourdomain.com] or to declare "autodiscover.[yourdomain.com]" as a Certificate Subject Alt Name within your certificate.
- DNS SRV record: create a new SRV record like the following:
Service: _autodiscover Protocol: _tcp Port Number: 443 Host: [mail.yourdomain.com]
Step 2: Jetty configuration
warning
This changes are not guaranteed to survive a Zimbra update. Depending on the contents of the update you might need to manually re-apply this changes.
Based on your Zimbra major release, apply one of the following changes.
A restart of Zimbra's mailboxd service is needed for the new configuration to become active. You can do so by running `zmmailboxdctl restart` as the zimbra user.
Zimbra 8.x (v8.0.3 and older)
/opt/zimbra/jetty/etc/jetty.xml.in
Locate the following block...
<Call name="addRule"> <Arg> <New class="org.eclipse.jetty.rewrite.handler.RewritePatternRule"> <Set name="pattern">/Microsoft-Server-ActiveSync/*</Set> <Set name="replacement">/service/extension/zimbrasync</Set> </New> </Arg> </Call>
... and add the following lines after it:
<Call name="addRule"> <Arg> <New class="org.eclipse.jetty.rewrite.handler.RewritePatternRule"> <Set name="pattern">/Autodiscover/*</Set> <Set name="replacement">/service/extension/autodiscover</Set> </New> </Arg> </Call> <Call name="addRule"> <Arg> <New class="org.eclipse.jetty.rewrite.handler.RewritePatternRule"> <Set name="pattern">/AutoDiscover/*</Set> <Set name="replacement">/service/extension/autodiscover</Set> </New> </Arg> </Call>
This will redirect all possible Autodiscover calls to the correct handler.
Zimbra NG Modules
Zimbra NG Modules Resources
Here you can find useful resources for your Zimbra NG Modules
- What are the Zimbra NG Modules?
- FAQs
- Downloads
- Zimbra NG Modules Installation Guide
- Zimbra Client Zimlet
- How to migrate Zimbra with Zimbra Migration Tool
- How to perform an incremental Migration with Zimbra NG Modules
- Known Issues