Подробный гайд: 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. Установка
- Запустите дистрибутив hMailServer → тип установки Server + Administrative tools.
- База данных:
- Built-in (MS SQL Compact) — быстро, годится для инсталляции до нескольких ГБ и десятка пользователей;
- MySQL/MariaDB / MSSQL / PostgreSQL — если ящики большие или нужен нормальный бэкап. Для MySQL понадобится 32-битная
libmysql.dllв каталоге hMailServer.
- Задайте пароль администратора hMailServer (он же потребуется при входе в Administrator и в COM-скриптах).
- Проверьте, что служба
hMailServerзапущена и стоит в «Автоматически». - Каталоги по умолчанию:
C:\Program Files (x86)\hMailServer\→Data,Logs,Bin\hmailserver.ini.
3. Домен и внутренние аккаунты
- Откройте hMailServer Administrator →
localhost→ Connect → пароль администратора. - Domains → Add:
office.local→ Save. - Раскройте домен → Accounts → Add:
collector— служебный ящик-приёмник (пароль сложный, клиентом в него никто не ходит);sekretar,ivanov,petrov— реальные пользователи.- В свойствах аккаунта задайте максимальный размер ящика (иначе безлимит) и включённость (Active).
- 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. Внешний аккаунт (забор почты)
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 | см. ниже |
- 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. Всем сотрудникам одна копия — список рассылки
Domains → office.local → Distribution lists → Add:all@office.local.- Добавьте членов (Members) — внутренние адреса.
- Режим Public, галку «Require SMTP authentication» снять — иначе пересланное письмо от внешнего отправителя будет отбито.
- На аккаунте
collector→ Rules → Add:- Criteria:
FromWildcard*(или любое всегда истинное условие); - Action: Forward email →
all@office.local; - Action: Delete e-mail (чтобы коллектор не разрастался);
- Action: Stop processing rules.
- Criteria:
Вариант 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. Если внутренние письма должны уходить наружу
- 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.
- Прямая отправка с домашнего/офисного IP почти всегда попадает в спам (нет PTR, IP в DNSBL) — реле обязателен.
- Проблема домена: если внутренние адреса
@office.local, наружу уйдёт невалидный отправитель. Варианты: использовать реальный поддоменcorp.company.ruс SPF/DKIM, либо приводитьFrom:к внешнему адресу скриптом (EventHandler.vbs), либо смириться, что переписка только внутренняя. - Для реального домена настройте 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. Проверка и диагностика
- Settings → Logging: включите
Application,SMTP,POP3,IMAP,TCP/IP, при отладке —Debug. Логи:...\hMailServer\Logs\hmailserver_YYYY-MM-DD.log. - Нажмите
Download nowи ищите в логе строкиExternalAccountManager/POP3D/SMTPD. - Utilities → Diagnostics → выберите домен → Start: проверит DNS, порты, локальную доставку.
- Utilities → Delivery queue — застрявшая исходящая почта (типично: не настроен реле).
- Ручной тест 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 видит письма, тестовое письмо извне дошло до всех адресатов
- [ ] Реле настроен (если нужна отправка наружу), очередь пуста
- [ ] Бэкап настроен и проверен
Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.