Phoenix Mailдокументация

Настройки и файлы

Где что лежит и какие настройки есть. Всё состояние — в одной базе SQLite, конфиги собираются из неё.

Настройки

mailnode config ls
mailnode config get public_host
mailnode config set public_host mail.example.ru
КлючЧто задаёт
hostnameимя узла, попадает в приветствие SMTP
public_hostимя, на котором работает панель и веб-почта
alert_emailкуда слать письма о проблемах
message_size_limitпредельный размер письма в байтах
rate_messages, rate_recipients, rate_connectionsлимиты отправки в минуту
spam_to_junk1 — глобальный фильтр кладёт спам в Junk, 0 — только помечает
backup_remoteкуда копировать бэкап: user@host:/path
update_sourceсвой адрес канала обновлений
tfa_enabled, tfa_secretвторой фактор панели
tls_cert, tls_keyпути к сертификату и ключу
После смены настроек пересоберите конфиги mailnode render — иначе Postfix и Dovecot продолжат работать по старым файлам. Часть настроек (rate_*, message_size_limit) команда config set применяет сама.

Файлы узла

ПутьЧто внутри
/opt/mailnode/mailnode.pyсама утилита
/opt/mailnode/mailpanel.pyпанель
/opt/mailnode/caldav_gateway.pyшлюз календарей
/opt/mailnode/state/mailnode.dbсостояние: домены, ящики, алиасы, узлы, настройки, журнал
/opt/mailnode/state/keys/ключи DKIM по доменам
/opt/mailnode/state/backup-*/копии файлов перед обновлением
/opt/mailnode/panel.passпароль панели, права 0600

Собранные конфиги

ФайлЧто настраивает
/etc/postfix/main.cf, virtual_*домены, ящики, релеи, милтеры, лимиты
/etc/dovecot/conf.d/09-mailnode.confIMAP, LMTP, квоты, Sieve, пароли
/etc/opendkim/ключи и таблицы подписи
/etc/rspamd/local.d/пороги и действия антиспама
/etc/caddy/Caddyfileсайты: панель, веб-почта, календари
/etc/ssl/mailnode/сертификат и ключ для SMTP и IMAP
Руками конфиги не правим Любая правка в /etc/postfix или /etc/dovecot исчезнет при следующем render. Меняйте состояние: через панель, команды или настройки.

Почта пользователей

ПутьЧто
/var/vmail/домен/ящик/Maildir: cur, new, tmp, .Папки
/var/vmail/домен/ящик/sieve/скрипты фильтров
/var/lib/roundcube/db/roundcube.sqliteнастройки веб-почты
/var/backups/mailnode/архивы бэкапов

Службы и таймеры

systemctl status postfix dovecot opendkim rspamd caddy mailpanel
systemctl list-timers | grep mailnode
ЮнитКогда работает
mailnode-cert.timerкаждый час: проверяет сертификат
mailnode-backup.timerкаждый день в 03:30
mailnode-update.timerвоскресенье 04:40
mailnode-alert.timerкаждые 15 минут, письмо только при проблеме
mailnode-replicate.timerраз в час, если настроен второй узел

База напрямую

sqlite3 /opt/mailnode/state/mailnode.db ".tables"
sqlite3 /opt/mailnode/state/mailnode.db "select address, quota from mailboxes;"

Таблицы: domains, mailboxes, aliases, nodes, settings, audit. Править напрямую можно, но после правки обязателен mailnode render.