Любому почтовому клиенту нужны одни и те же шесть сведений: имя сервера входящей почты, его порт, режим шифрования, имя сервера исходящей почты, его порт и режим шифрования, а также имя пользователя и пароль. Для современного сервера это значит IMAP на порту 993 с TLS с первого байта и отправка через SMTP submission на 465 (TLS с первого байта) или 587 (обычное соединение, которое повышается командой STARTTLS), с входом под логином почтового ящика. Укажите эти шесть параметров правильно - и Thunderbird, Outlook, Apple Mail и любой клиент на Android заработают. Ошибитесь с режимом шифрования для порта - это самая распространённая ошибка - и клиент либо зависнет, либо выдаст ошибку сертификата или протокола, из которой ничего полезного не узнать.
В этой статье - сами параметры, четыре клиента, которыми пользуется большинство, как заставить клиенты находить настройки самостоятельно с помощью autoconfig и autodiscover, и ошибки, которые встретятся вам по пути.
Параметры, которые спрашивает любой клиент#
Доступ к почте - это две отдельные задачи. Чтение идёт по IMAP (или по более старому POP3, или по более новому JMAP), и клиент общается с сервером почтового ящика. Отправка идёт через SMTP submission: клиент передаёт письмо своему же серверу, а тот доставляет его серверу получателя через порт 25. Сам клиент никогда не отправляет на порт 25, и почти любая домашняя или мобильная сеть заблокировала бы такую попытку.
| Задача | Протокол | Порт | Шифрование | Примечания |
|---|---|---|---|---|
| Чтение почты | IMAP | 993 | Неявный TLS | Выбор по умолчанию |
| Чтение почты | IMAP | 143 | STARTTLS | Тот же протокол, шифрование включается после подключения |
| Чтение почты | POP3 | 995 | Неявный TLS | Скачивает письма и обычно удаляет их с сервера |
| Отправка почты | Submission | 465 | Неявный TLS | Рекомендован RFC 8314 |
| Отправка почты | Submission | 587 | STARTTLS | Ничем не хуже, и его чаще помнят |
| Между серверами | SMTP | 25 | Оппортунистический STARTTLS | Не для клиентов |
Два термина путают людей, потому что клиенты называют их непоследовательно. Неявный TLS означает, что зашифрованный сеанс начинается сразу при подключении; клиенты называют это «SSL/TLS», «SSL» или просто «TLS». STARTTLS означает, что соединение начинается открытым текстом и повышается до шифрованного до отправки пароля; клиенты называют это «STARTTLS» или, что сбивает с толку, тоже «TLS». Порты 993 и 465 - неявные. Порты 143 и 587 - STARTTLS. Выберите «SSL/TLS» на 587 - и клиент будет ждать TLS-рукопожатия, которое сервер никогда не начнёт; выберите STARTTLS на 465 - и сервер будет ждать TLS-рукопожатия, которое клиент никогда не отправит. В обоих случаях это выглядит как тайм-аут.
Выбирайте IMAP, а не POP3, если у вас нет особой причины. IMAP хранит почту на сервере и синхронизирует папки, отметки о прочтении и отправленные письма на всех устройствах. POP3 был задуман для одного компьютера, который скачивает почту и удаляет её с сервера, а это ровно то, что не нужно человеку с телефоном и ноутбуком. В статье IMAP, POP3 и JMAP все три протокола сравниваются как следует, в том числе почему JMAP на бумаге лучше, а в клиентах всё ещё встречается редко.
Остальные поля:
- Имя пользователя. То, что сервер использует как логин. На большинстве самостоятельно размещённых серверов это полный адрес (
anna@example.com), но может быть и просто имя учётной записи. Используйте то, с чем создавался почтовый ящик. - Пароль. Пароль почтового ящика. Если у учётной записи включена двухфакторная аутентификация, для IMAP и SMTP обычно нужен пароль приложения, потому что ни один из этих протоколов не умеет запрашивать код.
- Способ аутентификации. «Обычный пароль» (Thunderbird) или «Пароль» (Outlook) - правильный выбор поверх TLS: пароль защищён зашифрованным соединением. Варианты с «зашифрованным паролем» - это старые схемы «запрос - ответ», которые многие серверы не поддерживают, и если выбрать ту, которой у сервера нет, аутентификация провалится даже с правильным паролем.
- Аутентификация для исходящей почты. Всегда включена, с теми же учётными данными. Сервер отправки, принимающий почту без аутентификации, - это открытый релей, а правильно настроенный отклонит вас с ошибкой «relay access denied».
Имена хостов и сертификаты#
Каждый клиент проверяет, что TLS-сертификат, который предъявляет сервер, выпущен на то имя хоста, которое вы ввели. Введите 203.0.113.25 или server42.somehost.net, когда в сертификате указано mail.example.com, - и получите предупреждение. Если нажать «продолжить», всё заработает, но заодно каждый человек в организации научится пропускать предупреждения о сертификатах, а именно на эту привычку рассчитывает злоумышленник в гостиничном wifi.
Аккуратная настройка - одно имя для всего, обычно mail.example.com:
- Создайте запись
Aдляmail.example.com, указывающую на адрес почтового сервера. Если это для вас ново, типы записей разобраны в статье DNS-записи простыми словами. - Убедитесь, что сертификат сервера покрывает это имя. Stalwart умеет получать и продлевать сертификаты через ACME (Let's Encrypt и аналоги), так что это вопрос настройки, а не покупки.
- Указывайте
mail.example.comкак сервер входящей и исходящей почты во всех клиентах.
Запись MX домена должна указывать на то же имя. Это не обязательно, но одно имя хоста для приёма, чтения и отправки означает один сертификат и одну вещь, которую нужно объяснить пользователям. Приоритеты и резервные MX, если у вас больше одного сервера, описаны в статье MX-записи простыми словами.
Thunderbird#
У Thunderbird лучшая автоматическая настройка среди всех клиентов и самый прозрачный ручной режим.
- Откройте Account Settings, затем Account Actions, затем Add Mail Account.
- Введите своё имя, адрес и пароль и нажмите Continue.
- Thunderbird ищет настройки (порядок поиска описан ниже, в разделе про autoconfig). Если находит, показывает IMAP и SMTP с именами хостов и портами. Проверьте их и нажмите Done.
- Если он ничего не нашёл или угадал неправильно, выберите Configure manually и заполните поля по таблице выше: IMAP,
mail.example.com,993, SSL/TLS, Normal password; SMTP,mail.example.com,465, SSL/TLS, Normal password. Перед сохранением нажмите Re-test, чтобы убедиться, что всё работает.
Догадки Thunderbird разумны, но не всегда верны. Если он выбрал STARTTLS на 143, хотя сервер предлагает и 993, работать будет и так, но переключение на 993 с SSL/TLS убирает одну движущуюся деталь.
После этого стоит проверить две настройки в разделе Copies and Folders учётной записи: где хранятся отправленные письма (это должна быть папка Sent на сервере, а не локальная папка, тогда отправленное появится и на телефоне) и сохраняются ли черновики на сервере. Thunderbird для Android - клиент, который раньше назывался K-9 Mail, - использует ту же логику настройки и те же запросы autoconfig.
Outlook#
Outlook для Windows существует в двух заметно разных версиях, и для собственного почтового сервера эта разница важна.
Классический Outlook (настольное приложение Microsoft 365) общается с вашим сервером напрямую. Выберите File, Add Account, введите адрес, откройте Advanced options, отметьте «Let me set up my account manually» и выберите IMAP. Укажите сервер входящей и исходящей почты, порт и способ шифрования по таблице. Outlook называет неявный TLS «SSL/TLS», а режим с повышением - «STARTTLS»; в старых сборках был вариант «Auto», которого лучше избегать, потому что он скрывает, что именно выбрано.
Новый Outlook для Windows и Outlook в браузере работают с учётными записями IMAP не от Microsoft, синхронизируя их через облако Microsoft. Ваш сервер видит подключения с адресов Microsoft, а не с компьютера пользователя, и копия почтового ящика хранится у Microsoft. Для многих это приемлемо. Для организации, которая держит собственный почтовый сервер именно затем, чтобы почта оставалась на её оборудовании, это лишает затею смысла, и об этом стоит сказать одну фразу в инструкции для пользователей.
У Outlook для macOS, iOS и Android свой порядок добавления учётной записи, и для учётных записей IMAP он тоже использовал службу синхронизации Microsoft. Если для вас это важно, проверьте текущее поведение в документации Microsoft, потому что от версии к версии оно менялось.
Типичные ошибки Outlook сводятся к таблице: «The server does not support the specified connection encryption type» - это несоответствие порта и режима, а повторяющийся запрос пароля почти всегда означает неверный формат имени пользователя.
iPhone, iPad и Mac#
Apple Mail не использует autoconfig в стиле Thunderbird. Он пытается угадать настройки по адресу, а если не может - спрашивает.
На iPhone или iPad: откройте Settings, перейдите в Mail (в iOS 18 и новее - в разделе Apps), затем Mail Accounts, Add Account, Other, Add Mail Account. Введите имя, адрес, пароль и описание и нажмите Next. Выберите IMAP и заполните Incoming Mail Server и Outgoing Mail Server: имя хоста, имя пользователя и пароль. iOS пробует TLS на стандартных портах и сохраняет учётную запись, если попытка удалась.
Если сервер использует нестандартные порты, первая проверка в iOS не пройдёт. Всё равно сохраните учётную запись, а затем отредактируйте её: порт входящей почты находится в разделе Advanced учётной записи, а порт исходящей - в записи SMTP-сервера внутри учётной записи. Включите «Use SSL», укажите порт и выберите аутентификацию Password.
На Mac путь такой: Mail, Add Account, Other Mail Account, с теми же полями. Если устройств больше нескольких, Apple поддерживает профили конфигурации (файлы .mobileconfig), содержащие полное описание учётной записи; их создаёт Apple Configurator, а пользователи устанавливают их одним касанием. Это аналог autoconfig у Apple, и для команды это правильный инструмент.
Android: приложение Gmail, Samsung Email, Thunderbird#
Единого почтового клиента на Android нет. Чаще всего вам встретятся три:
- Приложение Gmail. Добавьте ещё одну учётную запись, выберите Other, введите адрес, выберите Personal (IMAP), затем пароль, затем настройки серверов входящей и исходящей почты. Для учётных записей IMAP приложение Gmail подключается к вашему серверу напрямую.
- Samsung Email. Добавьте учётную запись, введите адрес и пароль, выберите ручную настройку и IMAP, затем данные сервера. Названия типов защиты в нём отличаются от версии к версии, поэтому смотрите на порт, который он подставляет рядом с выбором, и проверяйте, что пара совпадает с таблицей выше.
- Thunderbird для Android. Использует те же запросы autoconfig, что и настольный Thunderbird, так что домен с настроенным autoconfig настраивается сам.
Каким бы клиентом ни пользовались люди, push-уведомления о почте на Android зависят от IMAP IDLE: клиент держит соединение открытым, а сервер сообщает ему о новых письмах. На некоторых телефонах оптимизация батареи разрывает эти соединения, и тогда почта приходит, только когда открываешь приложение. Это настройка телефона, а не проблема сервера.
Autoconfig и autodiscover: пусть клиенты находят настройки сами#
Ввод шести параметров на каждом устройстве - вот куда уходит время поддержки. Два соглашения позволяют клиентам настраиваться по одному только адресу.
Autoconfig - формат Mozilla, который используют Thunderbird, Thunderbird для Android и некоторые другие клиенты. Получив anna@example.com, Thunderbird ищет примерно в таком порядке: конфигурация, встроенная в клиент, https://autoconfig.example.com/mail/config-v1.1.xml, https://example.com/.well-known/autoconfig/mail/config-v1.1.xml, публичная база провайдеров Mozilla, запись в этой базе для домена, на который указывает ваш MX, и, наконец, перебор распространённых имён хостов и портов. Если опубликовать файл, удачным окажется первый же полезный запрос:
<?xml version="1.0" encoding="UTF-8"?><clientConfig version="1.1"> <emailProvider id="example.com"> <domain>example.com</domain> <displayName>Example mail</displayName> <incomingServer type="imap"> <hostname>mail.example.com</hostname> <port>993</port> <socketType>SSL</socketType> <authentication>password-cleartext</authentication> <username>%EMAILADDRESS%</username> </incomingServer> <outgoingServer type="smtp"> <hostname>mail.example.com</hostname> <port>465</port> <socketType>SSL</socketType> <authentication>password-cleartext</authentication> <username>%EMAILADDRESS%</username> </outgoingServer> </emailProvider></clientConfig>socketType равен SSL для неявного TLS и STARTTLS для режима с повышением. password-cleartext звучит тревожно, а означает «отправлять пароль внутри TLS-сеанса», и это правильно. %EMAILADDRESS% заменяется тем, что ввёл пользователь; используйте %EMAILLOCALPART%, если логины у вас - просто имена учётных записей.
Autodiscover - аналог от Microsoft, который использует классический Outlook. Клиент отправляет запрос на https://autodiscover.example.com/autodiscover/autodiscover.xml (и ещё по нескольким адресам, включая https://example.com/autodiscover/autodiscover.xml и запись SRV по имени _autodiscover._tcp.example.com) и ждёт XML-ответа с описанием серверов IMAP и SMTP. В отличие от autoconfig это POST-запрос, поэтому статический файл на обычном веб-сервере на него не ответит - отвечать на запрос должно что-то живое.
Stalwart может сам обслуживать оба вида запросов, если клиент может достучаться до него по HTTPS по этим именам. Если это неудобно, файл autoconfig статический и может лежать на любом веб-хостинге с действительным сертификатом - для этого хватит небольшого сайта на тарифе веб-хостинга, у которого слот прокси направлен на autoconfig.example.com.
Есть и вариант только на DNS - записи SRV по RFC 6186, которые прямо называют серверы IMAP и отправки:
_imaps._tcp.example.com. 3600 IN SRV 0 1 993 mail.example.com._submissions._tcp.example.com. 3600 IN SRV 0 1 465 mail.example.com._submission._tcp.example.com. 3600 IN SRV 0 1 587 mail.example.com.На них полагаются немногие клиенты, так что считайте их дешёвым дополнением, а не заменой autoconfig.
Почтовый сервер на RE:NODE#
Линейка Mail Server работает на Stalwart, который говорит на SMTP, IMAP и JMAP и имеет веб-админку, где вы создаёте домены и почтовые ящики. Клиенты подключаются к адресу сервера и к портам, выделенным тарифу - у каждого тарифа Mail их пять, - поэтому берите адрес и номера портов из панели, а не рассчитывайте на стандартные из таблицы выше. Если номер порта отличается от стандартного, укажите в клиенте именно его и оставьте режим шифрования, который соответствует слушателю (неявный TLS или STARTTLS); и файл autoconfig, и записи SRV принимают любой порт.
Порт 25 - отдельная история. Он нужен, чтобы принимать почту от других серверов в интернете, контейнер не может открыть его сам, и поддержка по запросу перенаправляет его на ваш сервер (один почтовый сервер на адрес). К клиентам это отношения не имеет: они всегда используют IMAP и submission и никогда - 25. Точно так же DNS-записи, благодаря которым домен работает для внешнего мира - MX, SPF, DKIM, DMARC, - вы добавляете сами у своего DNS-провайдера. В пошаговой настройке Stalwart описано, как создать домен, почтовые ящики и ключ DKIM в веб-админке до того, как настраивать какой-либо клиент.
Решение проблем с подключением клиентов#
Клиент уходит в тайм-аут. Неверный порт, неверный режим шифрования для порта или сеть, которая блокирует порт. Проверьте из командной строки - так клиент выпадает из уравнения:
$ openssl s_client -connect mail.example.com:993 -servername mail.example.com$ openssl s_client -connect mail.example.com:587 -starttls smtp$ openssl s_client -connect mail.example.com:465 -servername mail.example.comПодключение, которое выводит цепочку сертификатов, а затем приветствие сервера (* OK для IMAP, 220 для SMTP), доказывает, что порт и режим TLS работают. Если на 993 всё зависает, а на 143 с -starttls imap работает, вы узнали, какой режим на самом деле использует слушатель.
Предупреждение о сертификате. Среди имён в сертификате нет хоста, который вы ввели. Вывод openssl выше показывает subject и альтернативные имена; сравните их с полем сервера в клиенте.
Пароль отклонён, хотя он точно правильный. Формат имени пользователя (полный адрес или имя учётной записи), способ аутентификации, которого нет у сервера, или двухфакторная аутентификация, требующая пароля приложения. Повторные неудачи могут ещё и включить на сервере защиту от перебора, после чего какое-то время не проходит даже правильный пароль.
Приём работает, отправка падает с «relay access denied». В клиенте выключена аутентификация для исходящей почты. Включите её и используйте те же учётные данные, что и для входящей.
Отправка работает, а извне ничего не приходит. Это не проблема клиента. Дело в записи MX, в том, доходит ли порт 25 до сервера, или в том, что почту отправителя отклоняют как спам - последний случай со стороны отправителя разобран в статье почему письма попадают в спам.
Отправленные письма появляются в Sent дважды или не появляются вовсе. Клиент сохраняет копию каждого отправленного письма в папку Sent на сервере по IMAP. Если клиент направлен в локальную папку, на других устройствах отправленного не будет; если у двух клиентов привязки специальных папок указывают на разные папки, вы получите Sent и Sent Items рядом. Привяжите все клиенты к одной и той же папке на сервере.
FAQ#
Какой порт использовать для отправки - 465 или 587?
Любой. 465 использует TLS с первого байта, и RFC 8314 рекомендует его для отправки; 587 со STARTTLS так же безопасен, если клиент требует повышения. Выберите один, подберите к нему режим шифрования и используйте один и тот же выбор во всех клиентах, чтобы у вопросов в поддержку был один ответ.
Почему телефон получает новую почту, только когда я открываю приложение?
Телефон закрывает долгоживущее IMAP-соединение клиента, чтобы сэкономить батарею, и сервер не может сообщить ему о новых письмах. Исключите почтовое приложение из оптимизации батареи или смиритесь с периодической проверкой. Сервер ведёт себя нормально.
Можно ли использовать POP3 вместо IMAP?
Можно, если сервер его предлагает, но, скорее всего, не стоит. POP3 скачивает почту на одно устройство и обычно удаляет её с сервера, так что второе устройство ничего не видит. IMAP хранит на сервере одну копию, общую для всех устройств, а это то, чего на самом деле хотят почти все.
Нужен ли autoconfig, если у меня всего пять пользователей?
Нет. Пятерых человек можно настроить вручную за полдня. Autoconfig начинает окупаться, когда пользователи сами настраивают свои устройства или когда телефоны меняются каждый год, а настроек никто не помнит. Это один статический файл, так что добавить его позже дёшево.
Безопасно ли читать рабочую почту через новый Outlook?
Работать будет, но почта синхронизируется через облако Microsoft, а не забирается напрямую с вашего сервера. Приемлемо ли это, зависит от того, зачем вы держите собственный сервер. Если причина в том, чтобы почта оставалась на вашем оборудовании, направьте пользователей к клиенту, который подключается напрямую, например к Thunderbird или классическому Outlook.




Комментарии
Полностью анонимно: без аккаунта, без почты, без cookie. Мы храним имя, которое вы ввели, текст и время - больше ничего. Количество ссылок ограничено, разметка не отображается.