Подробный гайд: hMailServer: забор почты с внешнего ящика и раздача по внутренним

Полный гайд по настройке hMailServer: автоматический забор почты с внешних ящиков (POP3/IMAP) и умная пересылка писем на внутренние адреса сотрудников.

2026.11.14                  


Подробный гайд: hMailServer: забор почты с внешнего ящика и раздача по внутреннимПодробный гайд: hMailServer: забор почты с внешнего ящика и раздача по внутренним Сразу важное ограничение, вокруг которого строится вся схема: внешний аккаунт в hMailServer привязывается к одному локальному аккаунту, и все скачанные письма попадают именно в него — независимо от того, что стоит в To:. Раздача по нескольким сотрудникам делается уже правилами (Rules), алиасами или списком рассылки.

Внешний ящик info@company.ru (POP3S/IMAPS)
        │  External account (опрос раз в ~30 мин)
        ▼
collector@office.local  ← служебный локальный аккаунт
        │  Rules / Alias / Distribution list
        ├──► sekretar@office.local
        ├──► ivanov@office.local
        └──► petrov@office.local



Оговорка на 2026 год: официальный стабил — 5.6.8 (2020), проект фактически не развивается, OAuth2 нет, максимум TLS 1.2. Для Gmail/Yandex/Mail.ru это значит пароль приложения, а для Microsoft 365 (basic auth отключён) такой забор почты уже не работает — там нужен другой шлюз.


1. Подготовка

Что Зачем
Windows 10/11 или Server 2016+ , статический IP сервер должен работать постоянно
.NET Framework 3.5 нужен для hMailServer Administrator (в Server ставится через «Добавление ролей и компонентов»)
Пароль приложения во внешнем ящике обычный пароль при включённой 2FA не подойдёт
Включённый POP3/IMAP во внешнем ящике у Mail.ru/Yandex/Gmail по умолчанию может быть выключен
Решённое имя внутреннего домена office.local — только для локалки; если планируете отправку наружу, берите реальный поддомен, например corp.company.ru

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

Провайдер POP3 IMAP SMTP (для отправки наружу)
Mail.ru pop.mail.ru:995 SSL imap.mail.ru:993 SSL smtp.mail.ru:465 SSL
Yandex pop.yandex.ru:995 SSL imap.yandex.ru:993 SSL smtp.yandex.ru:465 SSL
Gmail pop.gmail.com:995 SSL imap.gmail.com:993 SSL smtp.gmail.com:465 SSL / 587 STARTTLS
Хостинг (reg.ru, timeweb и т.п.) уточните в панели уточните обычно 465/587

2. Установка

  1. Запустите дистрибутив hMailServer → тип установки Server + Administrative tools.
  2. База данных:
    • Built-in (MS SQL Compact) — быстро, годится для инсталляции до нескольких ГБ и десятка пользователей;
    • MySQL/MariaDB / MSSQL / PostgreSQL — если ящики большие или нужен нормальный бэкап. Для MySQL понадобится 32-битная libmysql.dll в каталоге hMailServer.
  3. Задайте пароль администратора hMailServer (он же потребуется при входе в Administrator и в COM-скриптах).
  4. Проверьте, что служба hMailServer запущена и стоит в «Автоматически».
  5. Каталоги по умолчанию: C:\Program Files (x86)\hMailServer\ → Data, Logs, Bin\hmailserver.ini.

3. Домен и внутренние аккаунты

  1. Откройте hMailServer Administrator → localhost → Connect → пароль администратора.
  2. Domains → Add: office.local → Save.
  3. Раскройте домен → Accounts → Add:
    • collector — служебный ящик-приёмник (пароль сложный, клиентом в него никто не ходит);
    • sekretar, ivanov, petrov — реальные пользователи.
    • В свойствах аккаунта задайте максимальный размер ящика (иначе безлимит) и включённость (Active).
  4. Domain → Advanced → Catch-all address — необязательно; ловит почту на несуществующие адреса домена (пригодится, если позже будете принимать SMTP напрямую).

4. Протоколы, порты, безопасность

Settings → Protocols — включите:

  • SMTP — приём/отправка;
  • IMAP — для клиентов (рекомендуется);
  • POP3 — если клиенты хотят POP3.

Settings → Advanced → TCP/IP ports — стандартные привязки: 25 (SMTP), 587 (submission), 465 (SMTPS), 143/993 (IMAP), 110/995 (POP3). Для чисто внутреннего использования 25 наружу можно не публиковать.


Settings → Advanced → IP ranges — критично, чтобы не сделать open relay:

Диапазон Priority Allow deliveries Require SMTP auth
My computer (127.0.0.1) 25 всё, кроме External→External ничего
LAN (192.168.0.0–192.168.0.255) 20 Local→Local, Local→External, External→Local Local→External
Internet (0.0.0.0–255.255.255.255) 10 External→Local (только если принимаете почту извне) всё остальное



Правило с большим Priority применяется первым. External→External без аутентификации не разрешайте никогда.


Settings → Advanced → SSL/TLS — галка Verify remote server SSL/TLS certificates: оставьте включённой; снимайте только временно при диагностике самоподписанных сертификатов.


Settings → Advanced → Autoban — по умолчанию 3 неудачных логина = бан на 30 мин. Учтите: если во внешнем аккаунте указан неверный пароль, hMailServer может забанить сам себя при частых опросах — при отладке увеличьте порог.


Firewall (PowerShell от администратора), только для LAN:

New-NetFirewallRule -DisplayName "hMailServer LAN" -Direction Inbound -Protocol TCP `
  -LocalPort 25,110,143,465,587,993,995 -RemoteAddress 192.168.0.0/24 -Action Allow

5. Внешний аккаунт (забор почты)

  1. Domains → office.local → Accounts → collector → вкладка External accounts → Add.

2. Заполните:

Поле Значение
Name info-company-ru (произвольная метка)
Server address pop.mail.ru (или imap.mail.ru)
TCP/IP port 995 для POP3S / 993 для IMAPS
Connection security SSL/TLS (для 587/143 — STARTTLS Required)
Type POP3 или IMAP
Username полный адрес info@company.ru
Password пароль приложения
Delete messages from server см. ниже
  1. Save → в списке нажмите Download now и сразу смотрите лог.

POP3 или IMAP?

  • POP3 — классика для коллектора: письма забираются и (опционально) удаляются с внешнего сервера, во внешнем ящике не копится мусор. hMailServer хранит UIDL уже скачанных писем, дубли не тянет.
  • IMAP — забирает письма, оставляя их на сервере, состояние прочтения синхронизируется. Удобно, если во внешний ящик параллельно ходят люди с телефонов. Но папки не синхронизируются «зеркально» — скачанное ляжет во внутренний ящик коллектора.

Delete messages from server: включайте, только если hMailServer становится единственным владельцем почты. На этапе внедрения оставьте выключенным — письма останутся у провайдера как резерв.


Интервал опроса: по умолчанию около 30 минут. В GUI он не настраивается — меняется в Bin\hmailserver.ini (секция [Settings], имя параметра сверьте с документацией вашей сборки) с перезапуском службы. Кнопка Download now работает всегда немедленно.


6. Раздача по внутренним ящикам

Вариант A. Всё одному человеку

Ничего не нужно: привяжите внешний аккаунт прямо к sekretar@office.local. Дальше — клиентом (Thunderbird/Outlook) по IMAP.


Вариант B. Всем сотрудникам одна копия — список рассылки

  1. Domains → office.local → Distribution lists → Add: all@office.local.
  2. Добавьте членов (Members) — внутренние адреса.
  3. Режим Public, галку «Require SMTP authentication» снять — иначе пересланное письмо от внешнего отправителя будет отбито.
  4. На аккаунте collector → Rules → Add:
    • Criteria: From Wildcard * (или любое всегда истинное условие);
    • Action: Forward email → all@office.local;
    • Action: Delete e-mail (чтобы коллектор не разрастался);
    • Action: Stop processing rules.

Вариант C. Маршрутизация по адресату — правила

На collector → Rules создайте по правилу на сотрудника. Порядок правил важен — обрабатываются сверху вниз.


Пример правила «Секретарь»:

  • Use AND/OR: AND
  • Criteria 1: To → Contains → sekretar@company.ru
  • Actions: Forward email → sekretar@office.local; Delete e-mail; Stop processing rules

Финальное правило-«подметалка»: To Wildcard * → Forward email → collector@office.local (или адрес руководителя) + Stop processing rules.


Полезные нюансы:



  • Forward email в hMailServer — это редирект: исходный From: сохраняется, ответ пользователя уйдёт реальному отправителю. Копия остаётся в ящике коллектора, пока не добавите Delete e-mail.
  • Для писем в скрытой копии To: не поможет. Если провайдер добавляет служебные заголовки — стройте критерии по Delivered-To, X-Original-To, Envelope-To (тип критерия Custom header). Реальный заголовок посмотрите в исходнике письма у провайдера.
  • Правила уровня аккаунта срабатывают только для него; глобальные правила (Settings → Rules, если нужно единое место) — для всех сообщений сервера. Для коллектора удобнее аккаунтные.
  • Не создавайте петель: пересылка обратно на info@company.ru даст бесконечный цикл (hMailServer режет его по X-hMailServer-LoopCount, но лучше не проверять).

Вариант D. Алиас

Domains → office.local → Aliases → Add: info@office.local → sekretar@office.local. Удобно, когда внутренний адрес должен «звучать» как внешний, а физически ящик один.


Вариант E. Зеркало всего трафика

Settings → Advanced → Mirror — копия всех входящих/исходящих писем на указанный адрес. Годится для архива/контроля, но для адресной раздачи не подходит.


7. Если внутренние письма должны уходить наружу

  1. Settings → Protocols → SMTP → Delivery of e-mail:
    • Local host name — FQDN сервера, например mail.corp.company.ru;
    • SMTP relayer — smtp.mail.ru, порт 465, connection security SSL/TLS;
    • Server requires authentication — логин info@company.ru и пароль приложения;
    • Number of retries / Minutes between retries — например 5 и 15.
  2. Прямая отправка с домашнего/офисного IP почти всегда попадает в спам (нет PTR, IP в DNSBL) — реле обязателен.
  3. Проблема домена: если внутренние адреса @office.local, наружу уйдёт невалидный отправитель. Варианты: использовать реальный поддомен corp.company.ru с SPF/DKIM, либо приводить From: к внешнему адресу скриптом (EventHandler.vbs), либо смириться, что переписка только внутренняя.
  4. Для реального домена настройте SPF (включите хостера релея), DKIM (Domain → DKIM signing) и DMARC.

8. Клиенты

Thunderbird/Outlook, автообнаружения у hMailServer нет — вводите вручную:

  • IMAP: mail.office.local (или IP), 993 SSL/TLS либо 143 STARTTLS;
  • SMTP: 587 STARTTLS, аутентификация «обычный пароль»;
  • Логин: полный адрес ivanov@office.local.

Сертификат: выпустите свой (внутренний CA) и подключите в Settings → Advanced → SSL certificates, иначе клиенты будут ругаться. Для локалки допустимо самоподписанный сертификат с добавлением в доверенные на клиентах.


9. Проверка и диагностика

  1. Settings → Logging: включите Application, SMTP, POP3, IMAP, TCP/IP, при отладке — Debug. Логи: ...\hMailServer\Logs\hmailserver_YYYY-MM-DD.log.
  2. Нажмите Download now и ищите в логе строки ExternalAccountManager / POP3D / SMTPD.
  3. Utilities → Diagnostics → выберите домен → Start: проверит DNS, порты, локальную доставку.
  4. Utilities → Delivery queue — застрявшая исходящая почта (типично: не настроен реле).
  5. Ручной тест SMTP:
telnet 127.0.0.1 25
EHLO test
MAIL FROM:<info@company.ru>
RCPT TO:<ivanov@office.local>
DATA
Subject: test

test
.
QUIT

Типовые ошибки:

Симптом Причина / решение
Unable to connect при Download now порт/файрвол/антивирус режет исходящие; проверьте Test-NetConnection pop.mail.ru -Port 995
Authentication failed нужен пароль приложения; у Mail.ru/Yandex включите доступ по POP3 в настройках ящика
SSL handshake error выбран не тот тип шифрования (SSL/TLS vs STARTTLS) или порт 110/143 без TLS
Письма скачиваются, но никому не приходят правила: смотрите порядок, Stop processing rules, критерий To не совпадает
Письма отбиваются при пересылке в список рассылки список Private/требует SMTP-аутентификации
Дубли писем внешний ящик одновременно тянет другой клиент по POP3 без «оставлять на сервере»
Всё легло после смены пароля сработал Autoban на внешний IP — снимите бан в Settings → Advanced → Autoban



Антиспам (SPF/DNSBL/SURBL) для скачанной извне почты лучше отключить или ослабить: проверка SPF идёт от IP вашего сервера, а не от отправителя, и даёт ложные срабатывания.


10. Эксплуатация

  • Бэкап: Utilities → Backup — укажите каталог, включите сообщения + БД (для MySQL пропишите путь к mysqldump). Ставьте в планировщик; проверяйте восстановление.
  • Квоты: лимит на аккаунт и на домен (Domain → Limits), иначе коллектор со временем съест диск.
  • Чистка коллектора: если правила только пересылают, обязательно Delete e-mail, либо настройте регламент удаления старых писем.
  • Скрипты: Data\Scripts\EventHandler.vbs — события OnAcceptMessage, OnDeliverMessage, OnExternalAccountDownload и др. Позволяют маршрутизировать по любому заголовку, менять получателей, писать свои логи. Требует включения скриптов и перезапуска службы; синтаксис сверяйте с документацией COM API вашей версии.
  • Обновления: официальных релизов давно нет; в сообществе есть неофициальные сборки — на прод ставьте осознанно, с бэкапом.

Чек-лист внедрения

  • [ ] Служба запущена, Administrator подключается
  • [ ] Домен создан, аккаунты (включая коллектор) заведены
  • [ ] IP ranges не дают open relay, LAN-диапазон добавлен
  • [ ] Во внешнем ящике включён POP3/IMAP и создан пароль приложения
  • [ ] External account сохранён, Download now отработал без ошибок в логе
  • [ ] Правила/список рассылки раздают письма нужным людям, петлей нет
  • [ ] Клиент по IMAP видит письма, тестовое письмо извне дошло до всех адресатов
  • [ ] Реле настроен (если нужна отправка наружу), очередь пуста
  • [ ] Бэкап настроен и проверен

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


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

Комментарии

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