Standard DNS Record to Indicate IMAP Server for a Domain

domain-name-systememailimap

After some searching I've come up totally empty handed on if there is any standard (or non-standard for that matter) specification or best practice for specifying the IMAP server for a domain name. I.e. if I have an account such as "jimi@example.com", and I wish to read my mail via IMAP, is there any DNS record which would indicate to my mail client which mail server it should be contacting? I've never seen anything like this, and virtually all email setup instructions I've seen include an exact host name for IMAP, e.g. "mail.example.com" or "imap.example.com". I guess the assumption is that the employees or other users of example.com can find out what server to use from their administrator. However if example.com were to have thousands of accounts, this would become burdensome. It would seem very useful to just enter your email address "jimi@example.com" and have it look up the IMAP server name in DNS based on the email's domain name (not dissimilar to how an MX record works for SMTP).

Anyone heard of anything like this?

Best Answer

From a DNS perspective you have SRV DNS records which allow the use of DNS for publishing services and service discovery. Their main use is to allow services to run easily on non-standard ports and to reduce the configuration burden when setting up clients.

A SRV record has the following form:

_Service._Protocol.Name. TTL Class SRV Priority Weight Port Target

and one for IMAP is defined in RFC 6186 and would look like:

_imap._tcp.example.com. 3600 IN SRV 0 10 143 my-imap-host.example.com.

or

_imaps._tcp.example.com. 3600 IN SRV 0 10 995 my-imaps-host.example.com.

Most email clients don't specifically look for an IMAP server first though, but use auto discovery to derive email client settings from the email address a user enters.
If a user enters username@example.com, depending on the client those typically involve either

  • an _autodiscover._tcp.example.com. SRV record such as used by MS Exchange and Outlook
  • an actual host called autoconfig.example.com.
  • or more

A pretty good write up is found here : https://web.archive.org/web/20210402044628/https://developer.mozilla.org/en-US/docs/Mozilla/Thunderbird/Autoconfiguration

Related Topic