#Симптомы и область применимости
После замены сертификата на почтовом сервере клиент выдаёт предупреждение о недоверенном узле или обрывает TLS. Для SMTP submission, IMAPS и POP3S могут использоваться разные службы и файлы сертификатов; исправлять нужно только ошибочный компонент.
#Причины и диагностические признаки
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Имя не совпадает с хостом подключенияСертификат проверяется по имени сервера, а не по адресу электронной почты. | Клиент подключается к mail.example.com, а сертификат выпущен на другое имя | Сверьте SAN и имя почтового сервера в клиенте. |
| Поставлен неполный набор сертификатовСервис отдаёт только конечный сертификат без нужных промежуточных. | Внешний тест сообщает verify error или unable to get issuer | Укажите корректную цепочку согласно документации сервера. |
| Новый файл не подхвачен всеми службамиPostfix и Dovecot используют разные настройки и процессы. | IMAP работает, а SMTP — нет, либо наоборот | Проверяйте каждый порт и фактически выданный сертификат. |
#Пошаговая диагностика и исправление
- 1. Сохраните точный текст предупрежденияОткройте настройки клиента и запишите сервер, порт и режим TLS. Уточните: это SMTP 587 с STARTTLS, SMTP 465 с TLS сразу, IMAP 993 или POP3 995. Не соглашайтесь навсегда «доверять любому сертификату»: подмена имени может означать перехват трафика.
- 2. Сравните внешнее и внутреннее имя узлаВ настройках почтовой учётной записи посмотрите hostname. Если подключение идёт по IP, но сертификат выпущен на DNS-имя, используйте документированное имя службы при корректном DNS. Не меняйте адреса MX, если неисправность относится только к соединению почтового клиента.
- 3. Проверьте сертификат IMAP по сетиС независимого компьютера с OpenSSL подключитесь к порту 993 и посмотрите Subject, SAN, срок, цепочку и ошибки Verify return code. Выбранный hostname задавайте явно через -servername. Не передавайте в общий чат закрытые ключи и пароли.Linux · Терминал (Bash)КомандаТерминал без администратора. Домен заменяется реальным. Одна успешная проверка не охватывает SMTP/POP3.
openssl s_client -connect mail.example.com:993 -servername mail.example.com -verify_return_error </dev/null
- 4. Отдельно проверьте STARTTLS на submissionНа внешнем компьютере откройте защищённый сеанс SMTP через 587. Если рукопожатие проходит, но письмо не отправляется, проверьте SMTP AUTH отдельно: ошибка входа — не ошибка сертификата. Если сертификат отличается от IMAP, сравните настройки Postfix и Dovecot.
- OpenSSL; соединение, требующее STARTTLSLinux · Терминал (Bash)КомандаOpenSSL; соединение, требующее STARTTLS. При ошибке верификации проверяйте hostname и цепочку.
openssl s_client -starttls smtp -connect mail.example.com:587 -servername mail.example.com -verify_return_error </dev/null
- 5. Посмотрите, какие файлы использует PostfixНа сервере Postfix прочитайте параметры smtpd_tls_cert_file и актуальные настройки сертификатов, а в Dovecot — параметры TLS через doveconf. Точные имена параметров зависят от версии (включая Dovecot 2.4). Не переносите директивы из старой версии в новую без проверки.
- Только чтение конфигурацииLinux · Терминал (Bash)КомандаНужен sudoТолько чтение конфигурации. Никогда не выводите содержимое приватного ключа.
sudo postconf -n | grep -E "smtpd_tls_.*(cert|key|chain)"
- 6. Проверьте права на ключ без открытия доступа всемУбедитесь, что рабочая служба может прочитать ключ через штатные разрешения, а прочим пользователям он недоступен. Для Dovecot и Postfix механизмы загрузки ключа отличаются: не используйте chmod 777. Перед любыми изменениями прав сохраните текущие владельца, группу и режим.
- 7. Проверьте дату и цепочку установленного файлаНа сервере можно посмотреть публичный сертификат из настроенного пути командой openssl x509; это не проверяет, что сервис отдаёт именно его снаружи. Сопоставьте отпечаток с внешним тестом и при расхождении посмотрите прокси, балансировщик и старый процесс.Linux · Терминал (Bash)КомандаЗамените путь на путь реально настроенного публичного сертификата; команда только читает сертификат.
openssl x509 -in /path/to/fullchain.pem -noout -dates -subject -issuer
- 8. Примените правку с контролируемым откатомУкажите корректные сертификат/цепочку в конфигурации нужной службы после резервного копирования, выполните штатную проверку конфигурации и перечитайте/перезапустите только изменённую службу в согласованное окно. Повторите внешний тест каждого порта. При ошибке немедленно верните предыдущие пути.
#Как убедиться, что проблема устранена
Без исключений безопасности почтовый клиент успешно подключается по IMAP и SMTP; обе службы отдают цепочку с подходящим DNS-именем и действующим сроком. Авторизация проверена отдельно от TLS.
#Если проблема осталась
Если проблема воспроизводится только на старом устройстве, проверьте обновления корневых сертификатов и поддержку TLS; не включайте TLS 1.0/1.1. Если разные адреса дают разные цепочки, ищите старый узел в балансировщике или DNS.