I've asked around email experts here at the IETF and there are a couple standards-based options for making user account setup work better.
1. Use DNS SRV records to directly find mail servers.
- This requires a little extra standards work to define the identifiers that allow companies to register IMAP and SMTP submit servers in DNS directories. However in the long run it's clearly the right thing to do. It allows domains to control their own server information rather than have a 3rd party try to collect it.
2. Use DNS SRV records to find LDAP servers --> then find mail servers.
- Should work in many existing cases -- e.g. I would expect universities should already do this correctly, or even if they don't, they can quickly come up to speed. If this is in place, this allows us to discover exactly what server to contact for the given user even if it's something obscure like "ma013f.mail.example.com".
3. Attempt some common variations manually
- The client can take the domain name (e.g. 'example.com') and tack on some of the most common prefixes, attempting to contact the correct port on servers like "mail.example.com", "imap.example.com" and even "exchange.example.com". Maybe about a dozen common prefixes ought to cover many cases.
Taken all together, these approaches ought to work at least as well as having a central accounts DB server.
A couple concerns about having a central accounts DB server:
- It may be illegal to collect and disseminate this information. Companies could consider this proprietary.
- It's very easy for this information to be stale. It's in the wrong place -- it's not in control of the IT department running the mail server. The IT department is actually quite motivated to get this right because it saves helpdesk calls, so let's put the information where it belongs.