Все руководства по развёртыванию Развёртывание

SSL/TLS для почтовых серверов (Postfix, Dovecot, Exchange)

Тот же сертификат Let’s Encrypt, который защищает ваш сайт, может также шифровать соединения электронной почты. В этом руководстве описана настройка TLS для наиболее распространённых почтовых серверов.

Зачем электронной почте нужен TLS

Без TLS почтовый трафик (включая пароли и содержимое сообщений) передаётся открытым текстом:

  • SMTP (отправка почты) — порт 25/587 по умолчанию без шифрования
  • IMAP (чтение почты) — порт 143 по умолчанию без шифрования
  • POP3 (чтение почты) — порт 110 по умолчанию без шифрования

TLS шифрует эти соединения так же, как HTTPS шифрует веб-трафик. Современные почтовые клиенты ожидают TLS и предупреждают пользователей о незашифрованных соединениях.

Настройка сертификата

Вы можете использовать те же файлы сертификата от GetHTTPS для веб-сервера и почтового сервера одновременно — при условии, что сертификат покрывает имя хоста вашего почтового сервера (например, mail.example.com).

Получите сертификат, покрывающий имя хоста почтового сервера:

  1. В GetHTTPS добавьте mail.example.com (или другое имя хоста, на которое указывает ваша MX-запись)
  2. Вы можете включить его вместе с веб-доменом: example.com + www.example.com + mail.example.com
  3. Скачайте файлы: fullchain.pem, privkey.pem

Postfix (SMTP)

Отредактируйте /etc/postfix/main.cf:

# TLS для исходящей почты (отправка)
smtp_tls_security_level = may
smtp_tls_loglevel = 1

# TLS для входящей почты (приём) — STARTTLS на порту 25/587
smtpd_tls_cert_file = /etc/ssl/gethttps/fullchain.pem
smtpd_tls_key_file = /etc/ssl/gethttps/privkey.pem
smtpd_tls_security_level = may
smtpd_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtpd_tls_loglevel = 1

Для submission (порт 587) отредактируйте /etc/postfix/master.cf:

submission inet n       -       y       -       -       smtpd
  -o syslog_name=postfix/submission
  -o smtpd_tls_security_level=encrypt
  -o smtpd_sasl_auth_enable=yes

Перезагрузка: sudo systemctl reload postfix

Dovecot (IMAP/POP3)

Отредактируйте /etc/dovecot/conf.d/10-ssl.conf:

ssl = required
ssl_cert = </etc/ssl/gethttps/fullchain.pem
ssl_key = </etc/ssl/gethttps/privkey.pem
ssl_min_protocol = TLSv1.2
ssl_prefer_server_ciphers = no

Обратите внимание на < перед путём к файлу — Dovecot использует этот синтаксис для чтения содержимого файла инлайн.

Перезагрузка: sudo systemctl reload dovecot

Порты IMAP/POP3

СервисБез шифрованияSTARTTLSНеявный TLS (рекомендуется)
IMAP143143 (обновление)993
POP3110110 (обновление)995
SMTP submission587587 (обновление)465 (smtps)

Современные почтовые клиенты должны подключаться к портам с неявным TLS (993, 995, 465). Настройте их в Dovecot и Postfix наряду с портами STARTTLS.

Проверка TLS для электронной почты

# Тест SMTP STARTTLS
openssl s_client -connect mail.example.com:587 -starttls smtp

# Тест неявного TLS для IMAP
openssl s_client -connect mail.example.com:993

# Тест неявного TLS для SMTP (smtps)
openssl s_client -connect mail.example.com:465

Ищите Verify return code: 0 (ok) и данные вашего сертификата.

Обновление

Когда вы обновляете сертификат Let’s Encrypt, замените файлы и перезагрузите как веб-сервер, так и почтовый сервер:

sudo systemctl reload nginx      # веб
sudo systemctl reload postfix    # SMTP
sudo systemctl reload dovecot    # IMAP

При использовании Certbot с --deploy-hook добавьте перезагрузку почтового сервера в скрипт хука.

Часто задаваемые вопросы

Можно ли использовать один сертификат для веб-сервера и почты?

Да — при условии, что SAN (Subject Alternative Name) сертификата включает имя хоста почтового сервера. Если ваша MX-запись указывает на mail.example.com, включите это имя при запросе сертификата.

Работает ли Let’s Encrypt для почтовых серверов?

Да. Сертификаты Let’s Encrypt — это стандартные сертификаты X.509, которые работают с любым сервисом, поддерживающим TLS, а не только с веб-серверами. Сертификат не знает, используется ли он для HTTPS, SMTP, IMAP или чего-то другого.

Нужен ли отдельный сертификат для каждого почтового протокола?

Нет. Один сертификат работает для SMTP (Postfix), IMAP (Dovecot) и вашего веб-сервера одновременно. Укажите во всех сервисах одни и те же fullchain.pem и privkey.pem.

А как насчёт Microsoft Exchange?

Exchange использует формат PFX/PKCS#12. Сконвертируйте ваши PEM-файлы в PFX, затем импортируйте через Exchange Admin Center → Servers → Certificates → Import. Процесс аналогичен установке сертификата на IIS.

Похожие статьи

Начало работы 2026-05-08
Как получить бесплатный SSL-сертификат (пошаговое руководство)
Получите бесплатный SSL-сертификат от Let's Encrypt за 5 минут --- без установки программ, без создания аккаунта. Полное руководство: 4 метода, оба типа проверки, установка на 6 платформах и устранение неполадок.
Развёртывание 2026-05-08
Как установить SSL-сертификат на Nginx
Пошаговое руководство по установке SSL-сертификата на Nginx. Охватывает загрузку файлов, полную конфигурацию серверного блока, лучшие практики TLS, HTTP/2, HSTS, настройку редиректов, тестирование и устранение 6 распространённых ошибок.
SSL и сертификаты 2026-05-07
Форматы SSL-сертификатов: PEM, PFX, DER -- подробное объяснение
Разберитесь в форматах сертификатов PEM, PFX/PKCS#12 и DER. Узнайте, какой формат нужен вашему серверу и как конвертировать между ними с помощью OpenSSL.
Получите бесплатный SSL-сертификат в браузере
Без установки, без аккаунта. Ваш приватный ключ никогда не покидает устройство.
Получить сертификат