Подробный гайд по установке и настройке почтового сервера 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
- Откройте pgAdmin и подключитесь к серверу PostgreSQL.
- В дереве объектов щёлкните правой кнопкой мыши на Login/Group Roles → Create → Login/Group Role….
- Укажите имя пользователя (например,
hmailserver), задайте пароль, на вкладке Privileges отметьтеCan login?= Yes. Остальные права можно оставить по умолчанию. - Затем создайте базу данных: правой кнопкой на Databases → Create → Database…. Укажите имя (например,
hmailserver), в поле Owner выберите созданного пользователяhmailserver. Кодировку лучше выбрать UTF8. - Сохраните.
Вариант 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
- Скачайте последнюю версию hMailServer с официального сайта.
- Запустите установочный файл
hMailServer-5.6.x-Bxxxx.exeот имени администратора. - Следуйте инструкциям мастера установки:
- Примите лицензионное соглашение.
- Выберите каталог установки (по умолчанию
C:\Program Files\hMailServer). - Выберите компоненты: обязательно Server, Administration components (консоль администратора), при желании Web administration (веб-интерфейс).
- На шаге Database Server Configuration мастер попросит выбрать способ хранения данных:
- Use built-in database engine (Microsoft SQL Compact) — не выбираем.
- Use external database engine — отмечаем и нажимаем Next.
- На следующем экране выберите тип базы данных: PostgreSQL.
- Введите параметры подключения:
- Database server address:
localhost(или IP/имя удалённого сервера). - Port:
5432(стандартный порт PostgreSQL). - Database name: имя базы данных, например
hmailserver. - Username:
hmailserver(пользователь, созданный ранее). - Password: пароль этого пользователя.
- Database server address:
- Нажмите Next и дождитесь проверки подключения. Если всё верно, установщик создаст структуру таблиц.
- Далее мастер предложит задать пароль для встроенного администратора hMailServer. Задайте надёжный пароль и запомните его.
- Завершите установку. Служба
hMailServerбудет автоматически запущена.
Примечание: Если установщик не может подключиться к PostgreSQL, проверьте:
- работает ли служба PostgreSQL;
- правильность имени сервера, порта, учётных данных;
- доступность порта 5432 (брандмауэр Windows или межсетевой экран);
- для удалённого сервера — настройки
pg_hba.conf.
Шаг 3. Подключение к hMailServer через консоль администратора
- Запустите hMailServer Administrator (ярлык в меню «Пуск»).
- В окне подключения:
- Host:
localhost(или IP сервера, если администрируете удалённо). - Username:
Administrator(встроенная учётная запись администратора, не путать с пользователем БД). - Password: пароль, заданный при установке.
- Host:
- Нажмите Connect. Если подключение успешно, вы увидите дерево настроек.
Шаг 4. Базовая настройка почтового сервера
4.1. Создание домена
- В дереве слева раскройте Domains.
- Нажмите Add….
- Введите имя домена, например
example.com, и нажмите Save. - Домен появится в списке.
4.2. Создание почтовых аккаунтов
- Выберите созданный домен.
- Перейдите на вкладку Accounts.
- Нажмите Add….
- Заполните поля:
- Address: локальная часть адреса, например
info(полный адрес будетinfo@example.com). - Password: пароль для почтового ящика.
- Maximum size (MB): при необходимости ограничьте размер ящика.
- Остальные параметры можно оставить по умолчанию.
- Address: локальная часть адреса, например
- Нажмите Save.
Аналогично создайте другие аккаунты.
4.3. Настройка SMTP
- В дереве выберите Settings → Protocols → SMTP.
- На вкладке General:
- Welcome message: приветственное сообщение (можно оставить по умолчанию).
- Max message size: максимальный размер письма (например, 20480 КБ = 20 МБ).
- На вкладке Delivery of e-mail:
- Local host name: укажите полное доменное имя вашего сервера, например
mail.example.com. - SMTP Relayer: если ваш провайдер блокирует порт 25, укажите релей (SMTP вашего провайдера) с аутентификацией.
- Local host name: укажите полное доменное имя вашего сервера, например
- На вкладке Advanced:
- TCP/IP ports: стандартный порт 25. Если нужно, добавьте 587 для submission.
- Отметьте Use SSL/TLS при необходимости.
- Сохраните изменения.
4.4. Настройка POP3 и IMAP
- POP3: в Settings → Protocols → POP3 включите протокол (галочка 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. Проверка работоспособности
- Откройте любой почтовый клиент (Outlook, Thunderbird).
- Создайте учётную запись:
- Тип: IMAP или POP3.
- Сервер входящей почты: IP или домен вашего сервера.
- Порт: 143 (IMAP) или 110 (POP3), либо SSL-порты.
- Сервер исходящей почты (SMTP): тот же сервер, порт 25 или 587.
- Учётные данные: адрес и пароль, созданные ранее.
- Отправьте тестовое письмо на локальный адрес (например, между двумя ящиками одного домена) и проверьте получение.
- Проверьте отправку на внешний адрес (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. Такая конфигурация подходит для малого и среднего бизнеса, обеспечивая надёжное хранение почты и гибкость в управлении. Не забывайте регулярно обновлять программное обеспечение и следить за безопасностью сервера.
Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.