Автоконфигурация в Thunderbird

Этот перевод не завершён. Пожалуйста, помогите перевести эту статью с английского

Автор: Ben Bucksch
Пожалуйста, не изменяйте этот документ без согласования c автором

Thunderbird начиная с версии 3.1 (и 3.0 в некоторых редакциях) включает в себя функционал автоконфигурации почтового аккаунта. Цель автоконфигурации состоит в том, чтобы упростить настройку подключения клиента Thunderbird к своим почтовым серверам. В большинстве случаев, пользователь лишь должен загрузить и установить Thunderbird, ввести свое настоящее имя, почтовый адрес и пароль в настройках аккаунта, и почтовый клиент полностью готов к работе для получения и отправки писем. Настолько безопасно, насколько это возможно.

См. также:

Этот документ описывает как работает Автоконфигурация в Thunderbird и что необходимо выполнить, чтобы почтовый сервер был сконфигурирован автоматически.

Механизмы

Thunderbird получает настройки сервера различными способами, каждый из которых предназначен для различных случаев:

  • ISPDB
    ISPDB - это центральная база данных, которая в настоящий момент принадлежит коммерческой организации Mozilla Messaging, но может быть использована любым клиентом. Она содержит настройки для крупнейших почтовых провайдеров. Мы надеемся что эта база в ближайшем времени будет содержать достаточное количество информации для автоконфигурации не менее половины почтовых аккаунтов пользователей.
    Эта база была добавлена из-за нашей уверенности в том, что не все почтовые провайдеры (в том числе Microsoft) сразу же добавят файлы конфигурации для Thunderbird на своих сервера.
  • Конфигурация сервера почтового провайдера
    Почтовые провайдеры имеют возможность предоставить информацию о своих настройках для пользователей, настроив автоконфигурацию на своем веб-сервере как autoconfig. <домен>, который просто возвращает статический XML с настройками, как описано ниже. Для более сложных настроек, когда, например, логин не отображается в почтовом адресе, XML-файл может быть также сгенерирован провайдером. В таких случаях это единственный способ получить автоматическую настройку.
  • Файл конфигурации на жестком диске
    Администраторы могут поместить файл конфигурации в установочную папку Thunderbird. Этот способ предназначен для компаний, которые устанавливают Thunderbird на компютеры своих сотрудников и хотят облегчить настройку учетной записи без необходимости настраивать конфигурацию почтового сервера. Этот метод не стоит применять в других случаях, потому что обновлять файл конфигурации весьма трудно.
  • Подборка наугад
    В тех случаях, когда определить настройки автоматически не удалось, Thunderbird пытается угадать конфигурацию, пробуя распространенные имена почтовых серверов вроде imap.<domain>, smtp.<domain>, mail.<domain> и так далее, и, когда сервер отвечет поддерживается ли SSL, STARTTLS и шифрование паролей (CRAM-MD5).
  • Ручная настройка
    Если все же подобрать настройки не удалось, пользователь должен ввести настройки вручную. Пользователь также имеет возможность вручную изменять настройки, даже если они были получены способами описанными выше.

Все механизмы поиска используют домен почтового адреса в качестве основы для поиска. Например, для почтового адреса fred@example.com, поиск выполняется в следующем порядке:

  1. проверка tb-install-dir/isp/example.com.xml на жестком диске
  2. проверка autoconfig.example.com
  3. поиск "example.com" в базе ISPDB
  4. поиск "MX example.com" в базе DNS, и для mx1.mail.hoster.com производится поиск "hoster.com" в базе ISPDB
  5. подборка (imap.example.com, smtp.example.com и т.д.)

Мы можем добавить записи DNS SRV в качестве поддерживаемого механизма в будущем, но в настоящее время этот функционал не внедряется.

Как добавить поддержку для вашего домена

Классификация

Если вы большой почтовый провайдер (> 100,000 пользователей) предоставляющий почтовые адреса только под несколько доменов типа "example.com" и "example.de", вы можете подтвердить конфигурацию в базе ISPDB или добавить конфигурационный файл на сервере.

Если вы поддерживаете псевдонимы  почтовых адресов и имя пользователя для входа не является частью почтового адреса (например, почтовым адресом пользователя является "hero@example.com", и IMAP/POP/SMTP логином является не "hero" и не "hero@example.com", а "u67578"), вам необходимо настроить конфигурацию сервера, которая выполняет поиск логина по почтовому адресу.

Если вы поддерживаете пользовательские домены, то есть вы "hoster.com", а ваши клиенты пользуются почтовыми адресами "fred@flintstone.com" и "louis@kent.com" как доменными, только с несколькими пользователями на домен, вам необходимо настроить конфигурафию сервера (или полагаться на MX записи в DNS).

Если же вы небольшая компания устанавливающая Thunderbird на компьютеры своих работников, вы можете положить конфигурационный файл в установочную папку Thunderbird.

ISPDB

Database URL is <https://live.mozillamessaging.com/autoconfig/v1.1/>, append domain name, e.g. <https://live.mozillamessaging.com/autoconfig/v1.1/freenet.de>.

Current process: File a bug in Bugzilla, Product "Webtools", Component "ISPDB Database Entries", with a configuration file that matches the requirements described below. Request review from bwinton, gozer or ben.bucksch.

Future: add the configuration to the ISPDB server app.

Конфигурация сервера почтового провайдера

Given the email address "fred@example.com", Thunderbird first checks <http://autoconfig.example.com/mail/config-v1.1.xml?emailaddress=fred@example.com> and then <http://example.com/.well-known/autoconfig/mail/config-v1.1.xml>.

Small company

If you are a small company, you can put the XML configuration file on your web server, at URL <http://example.com/.well-known/autoconfig/mail/config-v1.1.xml>. (This is not yet finalized and subject to change.)

Domain hoster

If you are an ISP that hosts domains for your customers - for example, you are hoster.com and your customer registers fancy.com or example.com, and your servers accept and serve the mail for example.com -, you should set up an autoconfig server.

DNS

For each customer domain, you add a DNS record (in addition to the existing MX, A www etc. DNS records):
autoconfig IN A 10.2.3.4
or
autoconfig IN CNAME autoconfig.hoster.com.
... where 10.2.3.4 and autoconfig.hoster.com are IP addresses / hostnames you own.
This allows Thunderbird to find you as hoster.

To make the Version without an autoconfig DNS Entry work you have to make sure that example.com points to the Webserver you will place the config-v1.1.xml on.

Example: example.com A 10.2.3.4

Web server

You set up a web server bound to a physical IP address. This may be on the same machine as other web servers, but the web server must be configured to the content to any requested domain.

You must use an virtual host that match all autoconfig.* domains of your customers. In Apache terms, you can use a "ip-based virtual host". In the Apache configuration files, that means something like: Listen 10.2.3.4:80 (of course, you use a public IP address that you own)

<VirtualHost 10.2.3.4:80> #Must be the first and only virtual host with this ip!
    DocumentRoot /var/www/autoconfig/
    ServerName autoconfig.hoster.com
    <Directory /var/www/autoconfig>
	Order allow,deny
	allow from all
    </Directory>
</VirtualHost>

Place the configuration file at the URL /mail/config-v1.1.xml on that host.

All config files must be served as Content-Type: text/xml (or application/xml), otherwise the file will be ignored. Also, they must use charset UTF-8 (esp. if there are any non-ASCII-characters).

If you like to use name-based virtual hosts. You probably don't want to setup the autoconfig subdomain for every domain of your customers.
You can add a Rewriterule in the default virtual host (on debian /etc/apache2/sites-enabled/000-default)  to match all autoconfig.* subdomains:

<VirtualHost *:80> #Must be the first Virtual host
	ServerAdmin webmaster@hoster.com
	ServerName www
	DocumentRoot /var/www
	RewriteEngine On
	RewriteCond %{HTTP_HOST} ^autoconfig\. [NC]
	RewriteRule ^/(.*)	http://autoconfig.hoster.com/$1 [L,R=301,NE]
        #...
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot /var/www/autoconfig/
    ServerName autoconfig.hoster.com
    <Directory /var/www/autoconfig>
 	Order allow,deny
	allow from all
    </Directory>
</VirtualHost>

Файл конфигурации

This is described at How to create a configuration file and defined on the sub-pages.