Перейти к основному контенту

Установка и настройка почтового сервера на Windows Server 2022

Windows Server 2022 с hMailServer

Введение: Почему не стоит использовать встроенные компоненты Windows

При развертывании почтового сервера на ОС семейства Windows Server перед администратором встает вопрос выбора программного обеспечения. Многие пользователи, знакомые с более ранними версиями, помнят о существовании встроенного компонента SMTP-сервера (IIS SMTP).

Однако использовать это решение на современных системах крайне не рекомендуется по нескольким причинам:

  1. Техническая устарелость: Функция SMTP-сервера была объявлена устаревшей (deprecated) еще в эпоху Windows Server 2012. С тех пор она не получала обновлений, не поддерживает современные требования к безопасности (такие как STARTTLS и аутентификация) и не справляется с задачами полноценного почтового сервера.
  2. Проблемы с управлением: В Windows Server 2022 этот компонент хотя технически и присутствует, его графическая оснастка (IIS 6.0 Manager) работает нестабильно. При попытке открыть свойства виртуального SMTP-сервера консоль выдает ошибку или аварийно завершает работу, что делает настройку практически невозможной.
  3. Окончательное удаление: Разработчики Microsoft окончательно признали бесперспективность этого компонента. Начиная с Windows Server 2025, функция SMTP-сервера будет полностью удалена из операционной системы.

Обзор доступных решений

Microsoft Exchange Server

Это флагманское решение от Microsoft для корпоративной почты.

  • Плюсы: Богатейший функционал, интеграция с Active Directory, управление политиками, общие календари и задачи.
  • Минусы: Высокая стоимость. Модель лицензирования сложна и требует приобретения серверных лицензий и клиентских доступов (CAL) для каждого пользователя . Кроме того, Exchange очень требователен к ресурсам и требует выделенного администратора.

hMailServer

Это бесплатное решение с открытым исходным кодом для Windows, которое идеально подходит для малого и среднего бизнеса.

  • Плюсы: Бесплатно, просто в установке и настройке, поддерживает IMAP, POP3 и SMTP, имеет встроенные механизмы антиспама и поддержку SSL/TLS. Работает на любом современном Windows, начиная с 2008 и заканчивая 2022 .
  • Минусы: Не имеет встроенной интеграции с Active Directory (хотя это можно настроить через сторонние скрипты), требует ручной настройки DNS-записей.

Данная инструкция посвящена установке и настройке hMailServer как наиболее оптимального варианта для хостинга и небольших организаций.

Предварительные требования

Перед началом установки убедитесь, что у вас есть следующее:

  1. Сервер: Выделенный или виртуальный сервер под управлением Windows Server 2022 (также подойдут версии 2016, 2019).
  2. Права администратора: Локальный доступ к серверу с правами администратора.
  3. Доменное имя: Например, example.com. У вас должен быть доступ к управлению DNS-записями этого домена.

Пошаговая установка hMailServer

Скачивание и установка

  1. Перейдите на официальный сайт hMailServer и скачайте последнюю стабильную версию.
    • image.png

  2. Запустите установщик от имени администратора.
    • image.png

  3. В диалоге выбора компонентов оставьте Full Installation.
    • image.png

  4. На экране выбора базы данных выберите "Use built-in database engine" (MSSQL Compact). Для небольших инсталляций этого более чем достаточно. Для крупных проектов можно выбрать внешний MySQL или MSSQL.
    • image.png

  5. Задайте и запомните мастер-пароль. Он потребуется для подключения к консоли управления.
    • image.png

  6. Завершите установку.
    • image.png

  7. Если в процессе установки приложение просит установить Microsoft .NET Framework 2.0
    • image.png

       
    • То необходимо добавить этот компонент в мастере добавления ролей и компонентов сервера:
    • image.png
    • А затем повторить установку сначала.

Первоначальная настройка в консоли управления

  1. Запустите hMailServer Administrator из меню «Пуск».
    • image.png

  2. Нажмите Connect. Введите мастер-пароль, заданный при установке.
    • image.png

Добавление домена

  1. В дереве консоли кликните правой кнопкой на Domains и выберите Add...
    • image.png

  2. В поле Domain введите ваше полное доменное имя, например: example.com.
    • image.png

  3. Нажмите Save.

Настройка публичного имени хоста

Это критически важный шаг. Сервер должен знать свое имя в интернете, чтобы корректно представляться другим почтовым серверам.

  1. В дереве консоли перейдите в раздел Settings > Protocols > SMTP.
    • image.png

  2. Откройте вкладку Delivery of e-mail.
    • image.png

  3. В поле Local host name укажите полное доменное имя вашего сервера (FQDN), например: mail.example.com. Оно должно совпадать с записью, на которую указывает ваша MX-запись.
    • image.png

  4. Нажмите Save.

Настройка DNS (Критический этап)

Чтобы почта работала корректно, в DNS вашего домена необходимо внести следующие записи. Дождитесь их полного распространения (обновления кэша DNS) перед тестированием.

Тип записи Имя/Хост Значение/Приоритет Описание
A-запись mail <IP-адрес_вашего_сервера> Указывает, что поддомен mail.example.com ведет на ваш почтовый сервер .
MX-запись @ (или example.com.) mail.example.com. с приоритетом 10 Говорит всему миру, что почту для домена example.com нужно принимать на сервере mail.example.com .
TXT-запись (SPF)     @ (или example.com.) v=spf1 mx ~all Указывает, что только серверы, перечисленные в MX-записи, имеют право отправлять почту от имени вашего домена. Это снижает риск подделки писем .
TXT-запись (DKIM)     (генерируется автоматически)     (публичный ключ) Цифровая подпись писем. Настраивается позже в hMailServer (см. раздел безопасности).
PTR-запись (IP-адрес) mail.example.com Обратная DNS-запись. Настраивается провайдером, выдавшим вам IP-адрес. Крайне важна для репутации отправителя .

Подробнее о записях DNS можно ознакомится в статье: Что такое DNS-записи, примеры в DNSmanager и проверка настроек

Создание почтовых ящиков и управление

  1. В консоли hMailServer Administrator разверните узел Domains и выберите ваш домен (example.com).
    • image.png

  2. Кликните правой кнопкой на Accounts и выберите Add .
    • image.png

  3. Заполните поля:
    • Address: user (итоговый адрес будет user@example.com).
    • Password: Задайте надежный пароль.
    • Maximum size: Можно ограничить размер ящика (опционально).
    • image.png

  4. Нажмите Save.

Повторите операцию для всех необходимых пользователей.

Настройка безопасности

Шифрование (SSL/TLS)

Для безопасной работы почтовых клиентов (Outlook, Thunderbird, мобильные устройства) необходимо настроить шифрование.

  1. Получение сертификата:
    • Для тестовой среды можно использовать самоподписанный сертификат (клиенты будут выдавать предупреждение).
    • Для продакшена лучше всего получить бесплатный сертификат от Let's Encrypt (например, используя утилиту win-acme) или купить коммерческий.
    • Сертификат должен быть выдан на имя вашего сервера, например, mail.example.com. Установите его в хранилище сертификатов Windows (Личное/Computer account).
  2. Подключение сертификата в hMailServer:
    • В консоли hMailServer перейдите в Settings > Advanced > SSL Certificates.
      • image.png

    • Нажмите Add.
      • image.png

    • Задайте имя (например, MainCert). В поле Certificate file укажите путь к .pfx файлу или выберите сертификат из хранилища Windows.
      • image.png

    • Нажмите Save.
  3. Назначение портов:
    • Перейдите в Settings > Advanced > TCP/IP ports.
      • image.png

    • Здесь вы увидите стандартные порты. Вам нужно отредактировать существующие или создать новые для безопасного подключения.
      • SMTP (исходящая почта): Порт 465 (SMTP with SSL) или 587 (STARTTLS). Выберите в выпадающем списке соответствующий тип подключения (SSL/TLS или STARTTLS) и укажите ваш сертификат.
      • IMAP (входящая почта): Порт 993. Тип подключения: SSL/TLS. Сертификат: ваш.
      • POP3 (входящая почта): Порт 995. Тип подключения: SSL/TLS. Сертификат: ваш.
    • После настройки можно удалить незащищенные порты (110, 143, 25), если не планируете их использовать, но порт 25 обычно оставляют для приема почты извне.

Настройка DKIM

DKIM позволяет подписывать письма цифровой подписью, гарантируя, что они не были изменены в пути.

Переподготовка
  1. Перед началом настройки необходимо будет сгенерировать DKIM с помощью openssl командами (нужно, чтобы в системе был установлен openssl):
    • Генерация:
      • openssl genrsa -out dkim.private.key 1024
    • Получение публичного ключа для TXT записи: 
      • openssl rsa -in dkim.private.key -out dkim.public.key -pubout -outform PEM
  2. Либо получить его с помощью онлайн сервисов для генерации DKIM:
    • Например: dynu.com или подобными.

Используя один из этих методов Вы должны получить публичный и приватный ключ:

Публичный ключ будет использоваться для TXT записи, например mail._domainkey.example.com:

k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCTVVVTQWE3j4EWYzF1WJDSZvbLPoKtqRJSXZpnKBp77K82pqkt62QQxh/LJuXGlmY+uP97gAa+W9bKCW41svz1ufLS3m5Tx3V4OuHJCEi3k1SFnA9V9HbK3D0m+9z3rF5F22zaE5DIxbclaNmGbiC+wKVm6xe0E10fyXK5nGVJaQIDAQAB

И приватный ключ, например dkim.private.key будет использоваться как файл для hMailServer:

-----BEGIN RSA PRIVATE KEY-----
MIICWwIBAAKBgQCTVVVTQWE3j4EWYzF1WJDSZvbLPoKtqRJSXZpnKBp77K82pqkt
62QQxh/LJuXGlmY+uP97gAa+W9bKCW41svz1ufLS3m5Tx3V4OuHJCEi3k1SFnA9V
9HbK3D0m+9z3rF5F22zaE5DIxbclaNmGbiC+wKVm6xe0E10fyXK5nGVJaQIDAQAB
AoGATez5Z0KST9e3+AZY927zkkVhTRhv97gP976IVv1QHLGP7sDxhFcXIwQXdtTI
/WM5Cv3AKysI5hAfJ9cbEo3r2qKe7ae6zVqY6korsv4vlgpZ1tKCNQSLaYPyXovl
b/jBGTw9zt7U7IWLm57cqXGg39ixkG+XhSFRGgbOs3LjGl0CQQDAV0mJoVt0ta4r
sSnXwbSkSdiQIN8VfruKfVNRbLFfTAL3YidRMWgFw9wcakAt0sj4SA0AgDbsynKH
NBJS1oWzAkEAxBig1Yg540lqwApsYP5UCIPLkWDFiN/ORgPImbm89feqo2lv9CEn
QidnYhnw+EmEmOcvFlm92veJX7E8apLecwJAXvf6WFlylcrLB8m/FkgPkHrh0jBY
1f0wTm4ZAIBBiAM5B7rQHPffG9GcUe9oZvfHwUeaG+AyvnIrYHSmg35mnwJABFLa
sPqY9Cb5QJS6QQU6ixmE0obEtDjjDm4k7SbIQNAeJg48FrDoca/2upYB1yef0dM/
GYoPApX0pHR+9YaZewJAVoyZXRbkSWoXEW9y7Cs6Nhg4uXzoYCUWgMkQuScKbY1X
A4eK4J6i8JORZ4j9LzxSH/r0FfEvQFNLqPWQfo8z8w==
-----END RSA PRIVATE KEY-----

Настройка в hMailServer
  1. В hMailServer перейдите в Domains > example.com вкладка DKIM Signing.
    • image.png

  2. Установите галочку "Enable".
    • image.png

  3. Нажимаем три точки "..." напротив Private key file:
    • image.png

  4. Domain: example.com
  5. И выбираем наш приватный файл с ключом
    • image.png

  6. Пишем Selector, который мы написали при генерации (в данном случае был выбран mail).
    • image.png

  7. Нажмите Save

Защита от спама и открытых релеев

По умолчанию hMailServer настроен безопасно, но проверить стоит:

  1. Перейдите в Settings > Advanced > IP Ranges.
    • image.png

  2. Выберите диапазон "My Computer" (или localhost). Убедитесь, что галочки Require SMTP authentication и Allow deliveries from external to local accounts установлены корректно. Локальному хосту обычно разрешено все.
    • image.png

  3. Выберите диапазон "Internet".
    • image.png

  4. Снимите галочку "Allow deliveries from external to external accounts" (это запретит использование вашего сервера спамерами для ретрансляции писем).
    • image.png

  5. Убедитесь, что для отправки почты (SMTP) требуется аутентификация: галочка "Require SMTP authentication" должна быть установлена.

Настройка брандмауэра Windows

Чтобы сервер был доступен из интернета, нужно открыть порты в брандмауэре.

  1. Откройте Windows Defender Firewall with Advanced Security.
    • image.png

  2. Создайте новое правило для входящих подключений (Inbound Rules > New Rule...).
    • image.png

  3. Выберите тип Port.
    • image.png

  4. Выберите TCP и укажите порты: 25, 465, 587, 993, 995 (если используете POP3, добавьте 110, 143).
    • image.png

  5. Разрешите подключение (Allow the connection).
    • image.png

  6. Примените правило для всех профилей (Domain, Private, Public).
    • image.png

  7. Задайте имя, например, hMailServer Incoming.
    • image.png

Тестирование работы

Локальная проверка

  1. Откройте командную строку (cmd) на сервере.
  2. Выполните команду: telnet localhost 25
    • Ответ будет: 220 mail.example.com ESMTP
  3. Если подключение прошло успешно, введите:
    ehlo localhost
    Сервер должен ответить списком поддерживаемых команд.
    • ehlo localhost
      250-mail.example.com
      250-SIZE 20480000
      250-AUTH LOGIN
      250 HELP
  4. Введите quit для выхода.
    • quit
      221 goodbye
      Remote closed connection:

Отправка тестового письма

  1. Настройте любой почтовый клиент (например, Outlook или Thunderbird) на нового пользователя (например, ivan@example.com). Используйте параметры:
    • IMAP-сервер: mail.example.com, порт 993, SSL, требуется пароль.
    • SMTP-сервер: mail.example.com, порт 465 или 587, SSL/STARTTLS, требуется аутентификация (та же учетная запись).
  2. Отправьте письмо на свой личный ящик (Gmail, Яндекс и т.д.) и проверьте, пришло ли оно.
  3. Ответьте с личного ящика на ivan@example.com и проверьте, упало ли письмо в ящик на сервере (можно посмотреть через веб-интерфейс hMailAdmin или в клиенте).

Управление и бэкап

  • Резервное копирование: hMailServer имеет встроенный инструмент для бэкапа. В консоли администратора перейдите в Utilities > Backup. Рекомендуется регулярно создавать бэкапы, которые включают конфигурацию и сами письма (если выбрать соответствующую опцию) .
  • Мониторинг логирования: В разделе Logging можно включить логирование. Это помогает диагностировать проблемы с доставкой или аутентификацией.

Заключение

Использование hMailServer на Windows Server 2022 — это надежное, бесплатное и простое в обслуживании решение для организации корпоративной почты. В отличие от устаревшего и неработоспособного SMTP-компонента от Microsoft, hMailServer предоставляет полный набор современных функций, а также позволяет избежать высоких затрат на лицензирование, характерных для Exchange Server . Следуя приведенной инструкции, вы сможете развернуть полноценный почтовый узел, готовый к эксплуатации.