The short answer
Choose Mailcow if you already run Linux and Docker, have the time to keep a mail server updated and backed up, and want full control of its configuration. Mailcow is released under GPL-3.0, so there is no licence fee, and you can read and change the source.
Choose a managed dedicated mail server if nobody on your team wants to run mail, and you would rather pay one price per server for a provider to run the server, keep it backed up and give it a dedicated IP.
What Mailcow is
Mailcow is an open-source mail suite. Its documentation describes it as an open source groupware and e-mail suite based on Docker. Each service runs in its own container, and you administer it through a web interface. The main parts are:
- Postfix for SMTP, on ports 25, 465 and 587.
- Dovecot for IMAP and POP3 (ports 143 and 993) and ManageSieve.
- SOGo for webmail and groupware, including ActiveSync.
- Rspamd for spam filtering, and ClamAV for antivirus. You can switch ClamAV and full-text search off in
mailcow.confto save RAM. - A built-in Let's Encrypt client, the Unbound DNS resolver, Redis and MariaDB.
Installation means installing Docker Engine 24.0.0 or later and Docker Compose 2.0 or later, cloning the repository into /opt, generating a configuration file and starting the containers.
What running it costs
| Mailcow on your own VPS | VayloMail managed server | |
|---|---|---|
| Software | Free to use under GPL-3.0. Optional licences and paid support are sold separately by Mailcow's maker | Included |
| Server | A VPS you rent. Mailcow needs at least 6 GiB of RAM and 20 GiB of disk. Your host sets the price | Included in £35 a month per server, or £315 billed annually |
| Your time | Installation, updates, backups, security and monitoring of the server | Server management is included |
| IP address | From your VPS host, which usually sets reverse DNS (PTR) for you | A dedicated IP for your server |
| Backups | A backup script you run. You choose where the backups are stored | Nightly offsite backups with 14-day retention |
| Support | Mailcow's documentation, and optional paid support from its maker | support@vaylomail.com |
Mailcow has no licence fee, but it is not free to run. Your VPS costs what your host charges, and your time is a real cost. Compare the totals with your host's current pricing before you decide.
What you take on yourself
- Updates. You run the update script,
./update.sh, in the mailcow directory. It may ask you how to resolve conflicts. The docs describe a monthly release cycle for major updates. - Backups. The backup script asks where to store the backups. Keeping copies safe and checking that restores work is up to you.
- IP reputation. A VPS IP can appear on DNS blocklists. Mailcow's own troubleshooting guide tells you to check whether your IP is on a blacklist, and names dnsbl.info as one place to check. Reverse DNS must match your mail hostname, and your host usually sets it.
- DNS. You add the MX, SPF, DKIM and DMARC records yourself. Mailcow's DNS page gives examples, and says the DKIM record is created in its admin UI.
- Resources. The minimum is 6 GiB of RAM plus 1 GiB of swap. Mailcow's docs suggest 8 GiB for about 5 to 10 users, and 16 GiB for a business with 15 ActiveSync phones and about 50 concurrent IMAP connections.
- Operating system and ports. The docs list Debian 11 to 13, Ubuntu 22.04 or newer, Alma Linux 8 and 9, and Rocky Linux 9 as fully compatible. Port 25 must be open for Postfix.
What VayloMail includes
- A dedicated, isolated mail server with its own dedicated IP
- Email on a domain you already own
- IMAP (993, TLS), SMTP submission (587, STARTTLS), ManageSieve (4190) and webmail
- SPF, DKIM, DMARC, TLS and reverse DNS configuration
- Nightly offsite backups with 14-day retention
- Management of the server, and a customer portal for billing and cancellation
£35 a month, or £315 billed annually. No setup fee and no contract. VayloMail does not include unlimited storage, guaranteed inbox placement, a published uptime SLA, migration help or office-suite features. See pricing and technical details.
When Mailcow is the better choice
- You already run Linux servers and Docker, and have the time to keep a mail server updated, backed up and secure.
- You want full control over the configuration, or want to read and change the source under GPL-3.0.
- You want to host mail for several domains on one server you run, and you are comfortable with the time that takes.
When a managed mail server is the better choice
- Nobody on your team wants to run, patch or be on call for a mail server.
- You want backups kept offsite and the server managed by a provider, rather than a script you run yourself.
- You want one company responsible for the server, with a dedicated IP included and one price per server.
- You would rather pay a monthly price than spend unplanned time on mail problems.
Questions, answered
Is Mailcow free?
Mailcow is released under the GNU General Public License v3, so there is no licence fee to use it. You still pay for the server it runs on, and for your own time. Mailcow's maker also sells optional licences and paid support.
How big a server does Mailcow need?
At least 6 GiB of RAM with 1 GiB of swap, and 20 GiB of disk without email. Mailcow's docs suggest 8 GiB of RAM for about 5 to 10 users. VPS prices vary, so check your host's current pricing.
Who installs the updates?
You do. Mailcow is updated by running ./update.sh in its directory. The docs describe a monthly release cycle for major updates.
Does Mailcow back up my mail?
It includes a backup script, helper-scripts/backup_and_restore.sh, which asks where to store the backups. Keeping copies off the server and testing restores is up to you. VayloMail includes nightly offsite backups with 14-day retention.
Does Mailcow come with an IP address?
No. You get the IP from your VPS host, and the host usually sets the reverse DNS (PTR) record for it. The PTR record must match the mail server's hostname.
Can Mailcow get its own TLS certificates?
Yes. Its built-in client tries to obtain a Let's Encrypt certificate for your mail hostname, and port 80 must be reachable for the challenge.