March 2011
To ease Thunderbird configuration for employees, a company may create http://autoconfig.emailaddressdomain/mail/config-v1.1.xml?emailaddress=user@emailaddressdomain. We have mailaddresses “username@domain” but the servers expect usernames “somenumber”, and according to the docs, the translation of those isn't implemented yet.
So we resort to PHP in /etc/apache2/sites-available/default:
<VirtualHost *:80>
ServerName autoconfig.example.com
ServerAdmin webmaster@localhost
<IfModule mod_php5.c>
AddType application/x-httpd-php .xml
</IfModule>
DocumentRoot /srv/autoconfig/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
Alias "/mail/" "/srv/autoconfig/mail/"
<Directory "/srv/autoconfig/mail/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
</Directory>
</VirtualHost>
...and create config-v1.1.xml (not shown).
After this, if we fake the DNS through editing /etc/hosts, we only have to fill in name, mail address, and password when configuring Thunderbird.
Now let's wait for the DNS to get updated...
Interesting further reading: on javascript autoconfiguration of Thunderbird.