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 and audit data, 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, 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 runs configured system commands as argument arrays instead of shell strings.
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, with .bak files and per-target lock files around managed writes.
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. Clone the repo, configure the private target in an ignored Makefile.local, run make deploy from the repo root, keep the server .env and storage/ out of rsync, then finish sudoers, ACLs, nginx, cron, and post-install 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'
DEPLOY_HOST := root@your-mail-server
DEPLOY_PATH := /opt/www/mxcentral-for-iRedmail
EOF
paul@mxcentral.net:~/mxcentral-for-iRedmail$ make deploy
.env, storage/, SQLite files, node_modules/, and public/hot, then runs remote ownership and cache clearing.DB_CONNECTION=sqlite with SESSION_DRIVER=file, CACHE_STORE=array, and QUEUE_CONNECTION=sync unless you intentionally add a separate Laravel database.scripts/deploy-rsync.sh for repeat deployments to existing MxCentral paths; it preserves host files and checks ownership.