ארכיון תגיות: thunderbird

Email server details auto-discovery

One of the most annoying problems with desktop mail clients are its painful first time configuration. Even while most of our computer software are plug&play, mail clients are not, and even the advanced User would refer to gmail help to configure his gmail account with IMAP in Thunderbird mail client.

My personal PDA (Windows Mobile 2005) has one feature I was missing in other mail clients – it has an auto-discovery feature which let me define my mail accounts without requiring me to enter any detail other than my email address for that account.

How it can be made? It is not a rocket science; all you have to do is to create a centralized server capable of storing server addresses for each domain, and than each user will query for details from the account creation wizard . That's how Microsoft did that for my PDA client.

Mozilla Thunderbird currently have a way for mail service providers to put their configuration in advanced in the account wizard. You can define your gmail (POP) account with just few clicks, and can install other providers right from AMO. But still you have to manually install a specific addon in order to use your own mail account in your company, and that extension will be used just once – only for the account wizard.

ISP Account Wizard

But that's not all, let's make it distributed! Managing records for each domain and email provider worldwide is a hard, and even if we have the mechanisms to power the database we need somehow to authenticate the domain owners to let them change their records.

Thanks to DNS SRV records, domain owners can define custom services available at their domain, much like how MX records used to define the location of the SMTP server. Currently Jabber/XMPP and SIP are the most dominant services in SRV records.

$ nslookup -type=srv _xmpp-client._tcp.gmail.com
Non-authoritative answer:
_xmpp-client._tcp.gmail.com service = 5 0 5222 talk.l.google.com.
_xmpp-client._tcp.gmail.com service = 20 0 5222 talk1.l.google.com.
_xmpp-client._tcp.gmail.com service = 20 0 5222 talk2.l.google.com.
_xmpp-client._tcp.gmail.com service = 20 0 5222 talk3.l.google.com.
_xmpp-client._tcp.gmail.com service = 20 0 5222 talk4.l.google.com.

Jabber configuration for Gmail users

In order for mail providers to be able to do the auto-discovery magic we would need to define keywords for IMAP and POP for SRV RR, and to develop small changes in the mail client programs. It's not that hard if we count all the calls to the ISPs by novices just to ask them how to configure the client.

For example, if the incoming mail server of example.com sits in mail.example.com, we should have valid DNS SRV record for _imap._tcp.example.com pointing to mail.example.com:imap.

I've filled a bug report in Mozilla for this issue. You are more than a welcome to track that page.