You can configure each domain with the public service host name to be used for REST URLs. Used for example in sharing Document notebooks, Mail, and Biefcase folders, as well as Tasks, Contacts, and Calendars.
By default shares are generated with the zimbra_server_hostname/zimbraServiceHostname into a URL http://server.domain.com/service/home/username and @domain.com is appended to the username if it varies from the zimbraDefaultDomainName.
If Zimbra is generating a URL like http://server.domain.com and you'd rather have it http://mail.domain.com or other hostname:
You can use another FQDN like "mail.domain.tld" as long as 'mail' has a proper DNS entry to point at 'server' both internally and externally.
zmprov md domain.tld zimbraPublicServiceHostname hostname.domain.tld
In 5.0.9+ REST URL's can now be composed of 3 attributes: zimbraPublicService[Protocol + Hostname + Port] to avoid dependency on zimbraServer objects. 'Protocal' & 'Port' are automatically configured on upgrade if you have 'Hostname' set. Bug 29978 - remove requirement that zimbraPublicServiceHostname have a corresponding zimbraServer object You can just set 'Hostname' and run fine if you should forget to set 'Protocol' & 'Port'.
(I use it, though .local is can occasionally create issues if you have any conflicting zeroconf setups; many use .internal, .int, .lan, .localnet, or .site instead. But based on older posts I assume you're already up and running/have no plans change your dns and run through zmsetservername etc any time soon - just a note for others.)