aboutsummaryrefslogtreecommitdiff

Email Autoconfiguration legacy helper

Email autoconfiguration should generally be done these days with SRV DNS records, as specified in RFC-6186.

However, some email clients have their own, legacy, web-based autoconfiguration methods. Recent versions of many of these email clients now work with RFC-6186 SRV records, and will prefer them if they exist, but old versions are still out in the wild. It's nice to support them if at all possible, because users who are unable to upgrade to recent versions of their tools might benefit the most from having everything work as smoothly as possible.

See the blog entry for more information.

This project provides those web-based autoconfiguration methods, but using the information from standardised RFC-6186 SRV records.

System requirements

  • Web server (currently Apache2 supported)
  • PHP

Installation

make install \[PREFIX=prefixdir\]

Installs the files to the PREFIX (default /usr/local) base directory - mostly under the PREFIX/share/emailautoconf subdirectory.

Configuration

On the main domain

Most email clients can look for autoconfiguration files on a website with the same domain as the main email domain. For example, if your email address is jordan.doe@example.com, then most mail clients will look for an autoconfiguration file on the example.com website.

If you have an Apache2 website on the main domain, and installed emailautoconf to /usr/local, then add the following to your Apache2 config:

Include /usr/local/share/emailautoconf/apache2/main.conf

And that should work.

For other webservers, you'll have to look at the Apache2 config and figure out the equivalent setup yourself. Patches welcome!

On specialised subdomains

Some email clients will look on specialised autoconfiguration subdomains for the autoconfiguration information. For example, if your email address is jordan.doe@example.com, then Outlook will preferentially look for autoconfiguration data on autodiscover.example.com before falling back to looking on example.com. Similarly, Thundebird (and some others which implemented Thunderbird's system), will preferentially look for autoconfiguration data on autoconfig.example.com, before falling back to looking on example.com.

If you have an Apache2 website on the autodiscover subdomain, and installed emailautoconf to /usr/local, then add the following to your Apache2 config:

Include /usr/local/share/emailautoconf/apache2/autodiscover.conf

And that should work. There is an equivalent config files for the autoconfig subdomain.

For other subdomains and webservers, you'll have to look at the provided configs and, once again, figure out the equivalent setup yourself. Also, again, Patches welcome!

Uninstallation

make uninstall \[PREFIX=prefixdir\]

Just because, but also - what knows better at how to uninstall a package, than the system that was used to install it. (Yes, I am looking at you, cmake).

License

GNU Lesser General Public License v3.0 or later

TODO?

Support for more legacy autoconfig types.

Support for more web servers.

Add a configure script with an option to set whether users need to supply their full email address, including domain, as their server login?

Maybe install conf scripts somewhere more convenient, e.g. /etc/apache2/conf-available?

Move "build objects" (e.g. apache2/main.conf) outside of the source tree?

Add POP3 support? Really?