Mailu is a complete mail server delivered as a set of Docker containers, made for sysadmins and small organisations that want self-hosted email on a Linux server without wiring Postfix, Dovecot and an antispam engine together by hand. If you are looking for a Mailu download, note that there is no installer: you generate a docker-compose.yml with the official setup utility and pull the images.
Mailu is free and open source under the MIT licence and is maintained by a volunteer community on GitHub. It bundles SMTP, IMAP, submission, webmail, a web admin interface, antispam, optional antivirus and modern mail security (DKIM, SPF, DMARC, DANE, MTA-STS) in one stack that you configure through a single environment file.
Mailu at a glance
| Item | Details |
|---|---|
| Latest version | 2024.06.60 (28 September 2026), the current patch release of the 2024.06 stable series |
| Licence | Free and open source, MIT |
| Platforms | Linux server with Docker Engine and Docker Compose v2 (Kubernetes via Helm is also possible) |
| Developer | Mailu open-source community |
| Official website | mailu.io |
| Best for | Self-hosted mail for small businesses, homelabs and multi-domain setups on a single Linux VPS |
What it does
- Provides SMTP, submission, IMAP and POP3 with TLS, plus auto-configuration profiles so mail clients find the right settings.
- Ships a web admin UI with global admins, per-domain delegation, quotas, aliases, domain aliases and announcements.
- Includes webmail (Roundcube or SnappyMail, chosen during setup).
- Filters spam with auto-learning and greylisting, blocks malicious attachments and can run an antivirus scanner (ClamAV) if you have the memory for it.
- Signs outgoing mail with DKIM and checks SPF and DMARC on incoming mail; supports DANE and MTA-STS.
- Gives users auto-reply, forwarding, Sieve filters (ManageSieve) and fetching mail from external accounts.
- Obtains Let’s Encrypt certificates automatically if you choose that TLS mode.
How sysadmins use it
Deploy a new mail server with Docker Compose
- Point DNS first: A (and AAAA if you use IPv6) records for every host name you will put in
HOSTNAMESmust resolve to the server. - Create the working directory:
mkdir /mailu cd /mailu - Open the setup utility at setup.mailu.io, pick the 2024.06 version, fill in domain, host names, TLS mode and optional components, and download the generated
docker-compose.ymlandmailu.envinto/mailu. - Check
mailu.env. For automatic certificates setTLS_FLAVOR=letsencrypt; withcertyou placecert.pemandkey.pemin/mailu/certs/. - Start the stack:
docker compose up -d
Create the first admin and the postmaster
- Create an admin account from the command line:
docker compose exec admin flask mailu admin me example.net 'ChangeThisPassword'This creates
me@example.netas a global admin. - Log in to the admin UI (by default under
/adminon your mail host name). - Make sure a user or alias exists for the
POSTMASTERaddress set inmailu.env; the documentation stresses this step.
Publish DNS for deliverability
- In the admin UI, open the mail domain’s details and generate DKIM keys.
- Copy the MX, SPF, DKIM and DMARC records the UI shows into your DNS zone.
- Set a PTR (reverse DNS) record for the server IP to your mail host name at your hosting provider.
- Send a test to an external mailbox and check that SPF, DKIM and DMARC all pass in the headers.
Apply patch releases
- Back up the Mailu directory first, in particular
data,dkimandmail. - Read the changelog and compare your compose file with the upstream one.
- Pull and restart:
docker compose pull docker compose down docker compose up -d docker compose logs --tail=100
Install and first run
Mailu runs on any Linux distribution with an official Docker package; the project tests mostly on Debian stable. It needs Docker Engine 20.10.22 or later and Docker Compose v2.14.1 or later, installed from Docker’s own repositories rather than older distribution packages. Plan for 1 GB RAM plus 1 GB swap without antivirus, and 3 GB RAM plus 1 GB swap with ClamAV enabled.
The host must not already use ports 25, 80, 110, 143, 443, 465, 587, 993, 995 or 4190; stop any local Postfix, Apache or nginx first. A dedicated public IP address with matching forward and reverse DNS is strongly recommended. Many cloud providers block outbound port 25 by default, so request unblocking before you migrate users. There is no Windows or macOS installer; on a desktop you can only test it inside a Linux VM.
Limitations
- Linux and Docker are required; this is not a click-through Windows mail server.
- No Exchange ActiveSync and no groupware server; calendar and contacts are limited to what the webmail offers.
- Community support only (GitHub, Matrix chat); there is no vendor support contract.
- Antivirus roughly triples the memory requirement, which matters on small VPS plans.
- As with any self-hosted mail, IP reputation and blacklists are your problem, not the software’s.
Mailu vs alternatives
Mailu vs mailcow: both are Docker-based mail suites. Mailu is lighter and simpler to configure through one env file; mailcow includes SOGo groupware and ActiveSync but needs more RAM. Mailu vs docker-mailserver: docker-mailserver is a single container without a web admin UI, managed from the command line, which suits admins who prefer config files. If you must stay on Windows Server, look at MailEnable; for long-term archiving and compliance search next to Mailu, add Piler (mailpiler) Email Archiving.
FAQ
Where is the Mailu download?
Mailu is distributed as Docker images. You generate the compose file with the setup utility and run docker compose up -d; the documentation is on mailu.io.
Is Mailu free?
Yes. Mailu is free and open source under the MIT licence, and all bundled components are free software.
Mailu vs mailcow: which is better?
Mailu uses fewer resources and is easier to configure; mailcow has groupware (SOGo) and ActiveSync. Choose by whether you need calendars and phone sync.
How much RAM does Mailu need?
1 GB RAM and 1 GB swap without antivirus, or 3 GB RAM and 1 GB swap with ClamAV enabled.
Can Mailu run on Windows?
Not as a native install. It targets Linux servers running Docker; for Windows Server, a native product such as MailEnable is the usual choice.
What ports does Mailu need?
25, 80, 110, 143, 443, 465, 587, 993, 995 and 4190 must be free on the host and allowed through the firewall.
Is there a Mailu alternative without Docker?
Yes, you can build the same stack by hand with Postfix, Dovecot and Rspamd, but you lose Mailu’s single-file configuration and web admin.
Last checked against official sources: 30 September 2026 (developer website: mailu.io). Versions and licence terms change — confirm on the developer's site before deploying in production.






