Skip to content

Плагин: почта (docker-mailserver) ​

Ящики, алиасы и DKIM почтового сервера docker-mailserver из хаба, а записи DNS домена (MX, SPF, DKIM, DMARC) — в подключённый DNS-плагин (Technitium, Cloudflare) одной кнопкой. Общий принцип плагинов — Плагины.

Почтовый сервер ​

Пример конвейера «Конвейеры» → «Примеры» → Почта: docker-mailserver (Postfix, Dovecot, Rspamd, fail2ban; первый ящик postmaster@ДОМЕН — пароль в .env конвейера). До выкладки:

  • Сертификат для имени сервера (MAIL_HOSTNAME) — «Сертификаты» хоста; контейнер читает /etc/letsencrypt только для чтения.
  • Порты 25, 465, 587, 993 открыты в файрволе; исходящий 25 у многих хостингов закрыт — открывают по заявке.
  • PTR внешнего адреса — на имя сервера (ставит хостинг).

Подробно — README примера.

Поставить плагин ​

Своего API у docker-mailserver нет: плагин зовёт setup в контейнере через docker exec. Поэтому он ставится на хост почты, и служба работает в группе docker — это права root на хосте; хаб предупредит до установки.

«О системе» → «Плагины» → «Установить на хост» → Почта (docker-mailserver) → хост почты → имя сервера и внешний IPv4 (MAIL_PUBLIC_IP: A-запись и SPF; пусто — без A). Служба nkt-plugin-mail, 127.0.0.1:9200.

Что умеет ​

  • Домены — число ящиков, есть ли ключ DKIM; переход к ящикам и записям DNS.
  • Ящики — добавить, сменить пароль, удалить. Пароль вводится только в поле формы (скрытое): в контейнер он уходит переменной окружения, не в аргументах команды, не в журнале действий и не в параметрах задания.
  • Алиасы — добавить, удалить.
  • Ключ DKIM — Rspamd, 2048 бит; после создания перезапустите контейнер mailserver, чтобы Rspamd начал подписывать.
  • Записи DNS домена → «Поставить через DNS-плагин»: окно с записями, «Сверить» (что изменится) и «Применить». Хаб помнит поставленное (владелец plugin:mail:domain:ДОМЕН): чужие значения у тех же имён не трогаются, убранная запись удаляется. Нужны права администратора или токен с действием «плагин mail».
  • Сценарии: mail dkim ДОМЕН, mail alias add|rm АЛИАС КУДА, mail rm АДРЕС, mail records ДОМЕН — без паролей.
  • MCP: mail_domains, mail_mailboxes, mail_aliases, mail_dns, mail_mailbox_add, mail_mailbox_password, mail_mailbox_delete, mail_alias_add, mail_alias_delete, mail_dkim_generate.