Документация системного администратора

Это руководство объясняет управление квотами пользователей и просмотр статистики сервера с помощью команд madmail.

💡 Подсказка: Все эти операции также можно выполнить через Веб-панель администратора по адресу /admin/ — без командной строки.

Управление квотами

Вы можете управлять квотами хранения пользователей с помощью подкоманд madmail imap-acct quota.

Просмотр квоты пользователя

Отображение использованного пространства и максимального лимита для конкретного пользователя.

madmail imap-acct quota get username@example.com

Установка квоты пользователя

Установка пользовательского лимита хранения (например, 1GB, 500MB или 10KB).

madmail imap-acct quota set username@example.com 1GB

Сброс квоты пользователя

Удаление пользовательской квоты и возврат к системному значению по умолчанию. Дата создания аккаунта сохраняется.

madmail imap-acct quota reset username@example.com

Установка системной квоты по умолчанию

Установка лимита хранения по умолчанию для всех пользователей без пользовательской квоты. Значение сохраняется в базе данных и имеет приоритет над настройкой в madmail.conf.

madmail imap-acct quota set-default 2GB

Список всех квот

Отображение всех пользователей с использованным пространством и лимитами квот. В списке указано, является ли квота пользователя пользовательской или унаследованной от системного значения по умолчанию.

madmail imap-acct quota list

Обслуживание и очистка

Команды для управления нагрузкой сервера и освобождения пространства путём удаления данных пользователей.

Очистка очереди отправки

Удаление всех ожидающих сообщений в очереди отправки, связанных с конкретным пользователем (отправитель или получатель). Полезно для устранения заторов очереди, вызванных спамом или большими сообщениями.

madmail queue purge username@example.com

Очистка IMAP-сообщений пользователя

Удаление всех писем пользователя из всех почтовых ящиков (Входящие, Отправленные и т.д.) без удаления аккаунта или настроек квоты. Полезно для быстрого освобождения дискового пространства.

madmail imap-acct purge-msgs username@example.com

Очистка всех сообщений всех пользователей

Удаление всех писем на всём сервере для всех пользователей. Все данные электронной почты удаляются, но аккаунты, пароли и квоты сохраняются.

madmail imap-acct purge-all

Очистка всех прочитанных сообщений

Удаление всех писем, отмеченных как прочитанные (Seen), на всём сервере. Новые непрочитанные сообщения сохраняются. Помогает оптимизировать пространство без потери новых сообщений.

madmail imap-acct purge-read [--yes]

Удаление старых непрочитанных сообщений

Удаление непрочитанных сообщений старше указанной продолжительности (например, 30 дней). Полезно для очистки старых писем, которые пользователь никогда не открывал.

madmail imap-acct prune-unread 720h [--yes]

Управление регистрацией

Вы можете открыть или закрыть регистрацию новых пользователей. При закрытой регистрации только пользователи с существующими аккаунтами могут войти в систему.

Открыть регистрацию

madmail creds registration open

Закрыть регистрацию

madmail creds registration close

Просмотр текущего статуса

madmail creds registration status

Мгновенная регистрация (JIT)

JIT-регистрация позволяет серверу автоматически создавать аккаунты пользователей при первой попытке входа. Вы можете управлять этой функцией независимо от общей настройки регистрации.

Включить JIT-регистрацию

При включении аккаунты автоматически создаются при первом входе или получении первого письма.

madmail creds jit enable

Отключить JIT-регистрацию

При отключении аккаунты можно создать только через API (веб-интерфейс), а вход с незарегистрированными учётными данными отклоняется.

madmail creds jit disable

Просмотр статуса JIT

madmail creds jit status

Команды аккаунтов (madmail accounts)

Эти подкоманды читают madmail.conf и обращаются напрямую к файлам базы на диске (останавливать сервер не нужно). Укажите --cfg-block и --storage-cfg-block, если блоки не local_authdb / local_mailboxes.

Сводка и информация о пользователе

madmail accounts status madmail accounts info user@example.com

Создать учётную запись и IMAP

Создаёт пароль в БД учётных данных и почтовый ящик в хранилище (как случайный пользователь в веб-панели).

madmail accounts create user@example.com madmail accounts create-random [--json-only]

Удалить или заблокировать

Удаляет пароль, очищает IMAP и добавляет адрес в чёрный список. У ban второй аргумент — необязательная причина.

madmail accounts delete user@example.com [--yes] madmail accounts ban user@example.com ["причина"] [--yes]

После правок через CLI на работающем сервере

Сервер держит копии учётных данных и квот в памяти. После изменения БД через CLI выполните один раз POST /admin/cache/reload (тот же admin-токен). Формат запроса — в документации Admin API.

Управление сервером вызовов (TURN/STUN)

Вы можете включить или отключить сервер вызовов (TURN) для всех пользователей. При отключении информация о вызовах не отображается на странице информации.

Включить сервер вызовов

madmail creds turn on

Отключить сервер вызовов

madmail creds turn off

Просмотр текущего статуса

madmail creds turn status

Управление логами (Политика без логов)

Вы можете включить или отключить ведение журнала сервера. При отключении информация о действиях пользователей не записывается.

Отключить логирование

Для конфиденциальности пользователей и предотвращения хранения информации о действиях.

madmail creds log disable

Включить логирование

madmail creds log enable

Просмотр текущего статуса

madmail creds log status

Язык сайта

Вы можете изменить язык веб-интерфейса. Поддерживаемые языки: английский (en), фарси (fa), русский (ru), испанский (es). Изменения вступают в силу немедленно без перезапуска.

Просмотр текущего языка

madmail language

Установить язык

Переключить сайт на другой язык.

madmail language set fa

Сброс к значению по умолчанию

Удалить переопределение из базы данных и вернуться к языку, настроенному в madmail.conf.

madmail language reset

Настройки портов и конфигурации

Порты и настройки сервисов (hostname, secret, relay IP и т.д.) можно управлять через Admin API. Эти настройки хранятся в базе данных и имеют приоритет над значениями файла конфигурации.

Управляемые настройки

Для управления этими настройками используйте Admin API. Соответствующие конечные точки описаны в разделах «Настройки портов» и «Настройки конфигурации» документации API.

Режим скрытности

Сервер Madmail может работать в режиме скрытности для повышения безопасности. В этом режиме для внешнего мира остаются открытыми только необходимые порты.

Необходимые порты:

Остальные порты (25, 143, 587, 993) можно закрыть через файервол для публичного доступа. Пользователи подключаются ко всем сервисам через прокси Shadowsocks, настроенный в приложении, что скрывает ваш сервер от интернет-сканеров.

Отключение Admin API

Admin API включён по умолчанию. Для полного отключения через файл конфигурации для повышения безопасности установите следующую опцию в madmail.conf в разделе chatmail.

Настройка madmail.conf

Установите admin_token в значение disabled:

chatmail tls://0.0.0.0:443 { # ... другие настройки ... # Полностью отключить Admin API: admin_token disabled }

После сохранения файла перезапустите сервис madmail. Это отключит все функции веб-панели администратора и Admin API.

DNS-кэш и перезапись адресов

Внутренняя система DNS-кэша позволяет перенаправлять маршрутизацию исходящей почты на пользовательские серверы без изменения DNS-настроек ОС. Правила перезаписи хранятся в основной базе данных программы. Изменения вступают в силу немедленно без перезапуска сервера.

Просмотр всех перезаписей

Отображение всех правил перезаписи DNS, хранящихся в базе данных.

madmail dns-cache list

Создание или редактирование перезаписи

Установка правила перезаписи DNS. Если правило для этого адреса уже существует, оно будет обновлено.

madmail dns-cache set LOOKUP_KEY TARGET_HOST [COMMENT]

Примеры:

# Маршрутизация писем домена на внутренний сервер madmail dns-cache set nine.testrun.org 10.0.0.5 "Route to staging" # Перезапись IP-адреса madmail dns-cache set 1.1.1.1 2.2.2.2 "Redirect IP" # Маршрутизация на новый server при миграции madmail dns-cache set example.com new-mx.example.com "Migration"

Просмотр конкретной перезаписи

Отображение деталей правила перезаписи DNS, включая адрес источника, назначение, комментарии и время создания.

madmail dns-cache get nine.testrun.org

Удаление перезаписи

Удаление правила перезаписи DNS. После удаления письма будут маршрутизироваться через обычный DNS ОС.

madmail dns-cache remove nine.testrun.org

Как это работает

Статистика сервера

Просмотр общей статистики

Отображение общего использованного хранилища на сервере и количества активных аккаунтов.

madmail imap-acct stat

Мониторинг онлайн-подключений

Команда madmail status показывает состояние сервера в реальном времени. Включает активные IMAP-подключения, TURN-реле (голосовые/видеозвонки), Shadowsocks, зарегистрированных пользователей и время работы.

Просмотр активных подключений

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

madmail status

Пример вывода:

IMAP            connections: 27     unique IPs: 7
TURN            relays: 1
Shadowsocks     connections: 0      unique IPs: 0

Registered users:   42
Boot time:          2026-02-16 20:56:19 (up 5m 24s)

Email servers seen (since last restart):
  Connection IPs:   1
  Domain servers:   1
  IP servers:       0

Просмотр деталей по портам

Используйте флаг --details (или -d) для просмотра деталей подключений по каждому порту.

madmail status --details

Пример вывода:

PORT   PROTO   TYPE              CONNECTIONS   UNIQUE IPs
993    tcp     IMAP TLS          25            7
143    tcp     IMAP              0             0
3478   udp     TURN UDP          1 relays      -
3478   tcp     TURN TCP          0             0
8388   tcp     Shadowsocks       0             0
443    tcp     ALPN (chatmail)   3             1

Описание полей