Подробный гайд по установке и настройке почтового сервера hMailServer с базой данных PostgreSQL

Подробная инструкция по установке и настройке почтового сервера hMailServer с базой данных PostgreSQL: от создания БД до проверки работы.

2026.08.29                  


Подробный гайд по установке и настройке почтового сервера hMailServer с базой данных PostgreSQLПодробный гайд по установке и настройке почтового сервера hMailServer с базой данных PostgreSQL hMailServer — бесплатный почтовый сервер для Windows с открытым исходным кодом. Он поддерживает протоколы SMTP, POP3 и IMAP, имеет удобный графический интерфейс администрирования и может использовать различные СУБД для хранения данных: встроенную Microsoft SQL Compact, MySQL, Microsoft SQL Server и PostgreSQL. Использование PostgreSQL обеспечивает надёжность, производительность и возможность централизованного хранения почтовых данных на отдельном сервере.




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

  • Операционная система: Windows Server 2008 R2 или новее, Windows 7/8/10/11 (для тестирования).
  • Установленный PostgreSQL (версия 9.6 или выше). Сервер PostgreSQL может быть установлен как на том же компьютере, так и на удалённой машине (в т.ч. под Linux).
  • Учётная запись администратора для установки программ.
  • Права на создание базы данных в PostgreSQL (или уже созданная пустая база данных и пользователь с правами на неё).
  • Установочный файл hMailServer (последняя версия доступна на официальном сайте - https://www.hmailserver.com/).

Шаг 1. Установка и подготовка PostgreSQL

1.1. Установка PostgreSQL

Если PostgreSQL ещё не установлен, скачайте установщик с официального сайта - https://www.postgresql.org/download/windows/ и запустите его. В процессе установки задайте пароль для суперпользователя postgres и запомните его. После установки убедитесь, что служба PostgreSQL запущена.


1.2. Создание базы данных и пользователя

hMailServer требует отдельную базу данных и пользователя с правами на создание таблиц. Вы можете создать их с помощью pgAdmin или через командную строку psql.

Вариант A: через pgAdmin

  1. Откройте pgAdmin и подключитесь к серверу PostgreSQL.
  2. В дереве объектов щёлкните правой кнопкой мыши на Login/Group RolesCreateLogin/Group Role….
  3. Укажите имя пользователя (например, hmailserver), задайте пароль, на вкладке Privileges отметьте Can login? = Yes. Остальные права можно оставить по умолчанию.
  4. Затем создайте базу данных: правой кнопкой на DatabasesCreateDatabase…. Укажите имя (например, hmailserver), в поле Owner выберите созданного пользователя hmailserver. Кодировку лучше выбрать UTF8.
  5. Сохраните.

Вариант B: через psql (командная строка)

Запустите psql от имени суперпользователя postgres и выполните команды:

CREATE USER hmailserver WITH PASSWORD 'сильный_пароль';
CREATE DATABASE hmailserver OWNER hmailserver ENCODING 'UTF8';

Если PostgreSQL установлен на удалённом Linux-сервере, убедитесь, что он принимает подключения по сети:

  • В файле postgresql.conf установите listen_addresses = '*'.
  • В pg_hba.conf добавьте строку для разрешения подключения с IP вашего Windows-сервера (например, host hmailserver hmailserver 192.168.1.0/24 md5).
  • Перезапустите PostgreSQL.

Шаг 2. Установка hMailServer

  1. Скачайте последнюю версию hMailServer с официального сайта.
  2. Запустите установочный файл hMailServer-5.6.x-Bxxxx.exe от имени администратора.
  3. Следуйте инструкциям мастера установки:
    • Примите лицензионное соглашение.
    • Выберите каталог установки (по умолчанию C:\Program Files\hMailServer).
    • Выберите компоненты: обязательно Server, Administration components (консоль администратора), при желании Web administration (веб-интерфейс).
  4. На шаге Database Server Configuration мастер попросит выбрать способ хранения данных:
    • Use built-in database engine (Microsoft SQL Compact) — не выбираем.
    • Use external database engine — отмечаем и нажимаем Next.
  5. На следующем экране выберите тип базы данных: PostgreSQL.
  6. Введите параметры подключения:
    • Database server address: localhost (или IP/имя удалённого сервера).
    • Port: 5432 (стандартный порт PostgreSQL).
    • Database name: имя базы данных, например hmailserver.
    • Username: hmailserver (пользователь, созданный ранее).
    • Password: пароль этого пользователя.
  7. Нажмите Next и дождитесь проверки подключения. Если всё верно, установщик создаст структуру таблиц.
  8. Далее мастер предложит задать пароль для встроенного администратора hMailServer. Задайте надёжный пароль и запомните его.
  9. Завершите установку. Служба hMailServer будет автоматически запущена.



Примечание: Если установщик не может подключиться к PostgreSQL, проверьте:

  • работает ли служба PostgreSQL;
  • правильность имени сервера, порта, учётных данных;
  • доступность порта 5432 (брандмауэр Windows или межсетевой экран);
  • для удалённого сервера — настройки pg_hba.conf.

Шаг 3. Подключение к hMailServer через консоль администратора

  1. Запустите hMailServer Administrator (ярлык в меню «Пуск»).
  2. В окне подключения:
    • Host: localhost (или IP сервера, если администрируете удалённо).
    • Username: Administrator (встроенная учётная запись администратора, не путать с пользователем БД).
    • Password: пароль, заданный при установке.
  3. Нажмите Connect. Если подключение успешно, вы увидите дерево настроек.

Шаг 4. Базовая настройка почтового сервера

4.1. Создание домена

  1. В дереве слева раскройте Domains.
  2. Нажмите Add….
  3. Введите имя домена, например example.com, и нажмите Save.
  4. Домен появится в списке.

4.2. Создание почтовых аккаунтов

  1. Выберите созданный домен.
  2. Перейдите на вкладку Accounts.
  3. Нажмите Add….
  4. Заполните поля:
    • Address: локальная часть адреса, например info (полный адрес будет info@example.com).
    • Password: пароль для почтового ящика.
    • Maximum size (MB): при необходимости ограничьте размер ящика.
    • Остальные параметры можно оставить по умолчанию.
  5. Нажмите Save.

Аналогично создайте другие аккаунты.


4.3. Настройка SMTP

  1. В дереве выберите SettingsProtocolsSMTP.
  2. На вкладке General:
    • Welcome message: приветственное сообщение (можно оставить по умолчанию).
    • Max message size: максимальный размер письма (например, 20480 КБ = 20 МБ).
  3. На вкладке Delivery of e-mail:
    • Local host name: укажите полное доменное имя вашего сервера, например mail.example.com.
    • SMTP Relayer: если ваш провайдер блокирует порт 25, укажите релей (SMTP вашего провайдера) с аутентификацией.
  4. На вкладке Advanced:
    • TCP/IP ports: стандартный порт 25. Если нужно, добавьте 587 для submission.
    • Отметьте Use SSL/TLS при необходимости.
  5. Сохраните изменения.

4.4. Настройка POP3 и IMAP

  • POP3: в SettingsProtocolsPOP3 включите протокол (галочка Enabled), порт по умолчанию 110.
  • IMAP: аналогично включите IMAP, порт 143.
  • При необходимости настройте SSL-порты (995 для POP3S, 993 для IMAPS) и укажите SSL-сертификат.

4.5. Настройка DNS и MX записей

Для приёма почты из интернета необходимо, чтобы:

  • Домен example.com имел запись MX, указывающую на A-запись вашего сервера (например, mail.example.com).
  • A-запись mail.example.com указывала на публичный IP-адрес сервера.
  • На маршрутизаторе/файрволе были открыты порты 25, 110, 143 (и SSL-порты при необходимости).

Эти настройки выполняются на стороне DNS-хостинга и сетевого оборудования.


Шаг 5. Проверка работоспособности

  1. Откройте любой почтовый клиент (Outlook, Thunderbird).
  2. Создайте учётную запись:
    • Тип: IMAP или POP3.
    • Сервер входящей почты: IP или домен вашего сервера.
    • Порт: 143 (IMAP) или 110 (POP3), либо SSL-порты.
    • Сервер исходящей почты (SMTP): тот же сервер, порт 25 или 587.
    • Учётные данные: адрес и пароль, созданные ранее.
  3. Отправьте тестовое письмо на локальный адрес (например, между двумя ящиками одного домена) и проверьте получение.
  4. Проверьте отправку на внешний адрес (Gmail, Yandex). Если письмо не уходит, возможно, провайдер блокирует порт 25 — настройте SMTP Relayer.

Шаг 6. Резервное копирование и обслуживание

Резервное копирование

Регулярно создавайте резервные копии базы данных PostgreSQL:



pg_dump -U hmailserver -h localhost hmailserver > backup_hmail.sql

Также рекомендуется копировать каталог C:\Program Files\hMailServer\Data (содержит сами письма).

Обновление hMailServer

Перед обновлением сделайте резервную копию БД и данных. Затем запустите установщик новой версии — он обновит файлы и, при необходимости, схему БД.


Возможные проблемы и их решение

1. Ошибка подключения к PostgreSQL при установке

  • Убедитесь, что служба PostgreSQL запущена (services.msc).
  • Проверьте, слушает ли PostgreSQL порт 5432: netstat -an | findstr 5432.
  • Проверьте брандмауэр Windows: добавьте правило для входящих подключений на порт 5432 (если сервер локальный).
  • Если PostgreSQL на удалённом Linux, проверьте listen_addresses и pg_hba.conf.

2. hMailServer не запускается после установки

  • Посмотрите журнал ошибок: C:\Program Files\hMailServer\Logs\ERROR_hmailserver_YYYY-MM-DD.log.
  • Убедитесь, что пользователь, от имени которого работает служба (обычно Local System), имеет права на каталог Data и доступ к БД.

3. Письма не доставляются на внешние адреса

  • Проверьте, не заблокирован ли исходящий порт 25 вашим интернет-провайдером. Настройте SMTP Relayer через SMTP провайдера.
  • Проверьте, не попал ли ваш IP в чёрные списки (например, через mxtoolbox.com).
  • Убедитесь, что у домена корректные SPF и DKIM записи (для предотвращения спама).

4. Письма от внешних отправителей не приходят

  • Убедитесь, что MX запись указывает на ваш сервер.
  • Проверьте, открыт ли порт 25 из интернета (можно использовать онлайн-проверки портов).
  • Проверьте логи hMailServer на предмет ошибок.

Важно

Теперь у вас есть полностью функциональный почтовый сервер hMailServer с базой данных PostgreSQL. Такая конфигурация подходит для малого и среднего бизнеса, обеспечивая надёжное хранение почты и гибкость в управлении. Не забывайте регулярно обновлять программное обеспечение и следить за безопасностью сервера.


Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.


Статью подготовил: Аверко Денис Сергеевич @Nymexis г. Омск (специалист по ЗИ)

Комментарии

Загрузка...
Если комментарии не загружаются, можете попробовать отключить блокировщик рекламы для этого сайта