Domains and DNS
Create domains, tune limits and transport, enable Backup MX, manage alias domains, configure catch-all destinations, and run MX, SPF, DKIM, and DMARC checks from the domain screen.
A focused control plane for mail admins who already run iRedMail and want clearer day-to-day management without replacing the mail stack.
MxCentral works with the existing iRedMail databases directly: vmail for accounts and domains, iredadmin for sessions, settings, audit logs, and deleted mailbox path logs, amavisd for quarantine and policy data, iredapd for throttling, and optional fail2ban integration for blocked IPs.
Create domains, tune limits and transport, enable Backup MX, manage alias domains, configure catch-all destinations, and run MX, SPF, DKIM, and DMARC checks from the domain screen.
Create mailboxes, update quota and passwords, toggle per-user services, delete users with mailbox path logging, assign domain admins, and keep mailbox self-service separate from global controls.
Manage aliases and mailing lists with members, owners, policies, descriptions, max message sizes, and active status using the same control surface as domains and users.
View quarantined messages, inspect raw mail safely, delete selected messages, send Amavisd release requests, and run scheduled recipient notifications for newly quarantined mail.
Set throttling, manage Amavisd white and blacklists, allow selected sender mismatch accounts, approve unauthenticated senders or networks, and silently discard selected recipients through Postfix maps.
Search accounts, review sent and received metadata, inspect global-admin audit logs, export managed accounts and admin statistics, inspect setup health, expose JSON read surfaces, and optionally unban Fail2ban IPs.
The app does not need to own the whole server. It uses local iRedMail accounts for login, applies global-admin/domain-admin/self-service scoping, and brokers privileged service changes through a root-owned helper with fixed paths and command arrays.
Generate per-domain DKIM keys, write a marked MxCentral block into the Amavisd config, keep private keys on disk, show DNS records, and test the result.
Edit iRedAPD, Postfix, and SOGo-related settings through global-only screens, while root-owned helper operations validate managed blocks, apply related writes under one lock, and record applied or failed state.
Link users to webmail and optionally manage the SOGo root page logo override so the webmail entry point matches the hosted brand.
Mount under a subdirectory such as /mxcentral, keep the remote .env on the server, and deploy without overwriting live storage or host-specific credentials.
After changing DNS, DKIM, SPF, DMARC, policy, or delivery settings in MxCentral, send a real message to MXToolbox. It creates an anonymous token session, gives you a one-time recipient address, waits for the message, and builds a report from the captured email and related DNS evidence.
MxCentral is deployed from a workstation checkout to the mail server. Configure an ignored per-server profile, keep the production .env and SQL grants outside the repository, run make deploy, then wire in least-privilege database users, the root privileged helper, nginx, cron, and production checks.
paul@mxcentral.net:~$ git clone git@github.com:TerminalAddict/mxcentral-for-iRedmail.git
paul@mxcentral.net:~$ cd mxcentral-for-iRedmail
paul@mxcentral.net:~/mxcentral-for-iRedmail$ cat > Makefile.local <<'EOF'
HOSTNAME := mail
DEPLOY_HOST := $(HOSTNAME)
DEPLOY_PATH := /opt/www/mxcentral-for-iRedmail
APP_USER := www-data
APP_GROUP := www-data
SERVER_ENV_FILE := $(HOME)/.config/mxcentral/$(HOSTNAME).env
DATABASE_GRANTS_FILE := $(HOME)/.config/mxcentral/$(HOSTNAME).sql
EOF
paul@mxcentral.net:~/mxcentral-for-iRedmail$ make deploy
docs/database-grants.sql as the grant template, create separate users for vmail, iredadmin, amavisd, iredapd, and fail2ban, including SELECT, INSERT on iredadmin.log./usr/local/sbin/mxcentral-privileged.