mailcow vs Mail-in-a-Box

mailcow is the configurable, multi-domain Docker suite for teams that need groupware and control. Mail-in-a-Box is a no-options appliance for one Ubuntu machine. Choose by domain count, groupware needs and how much you want to tune.

On this page

When to choose mailcow and when to choose Mail-in-a-Box

Choose mailcow when one organization runs several domains and wants to tune mailboxes, groupware and services over time. Choose Mail-in-a-Box when a single small domain is the whole job and the goal is fewer decisions. The choice turns on four questions: how many domains you host, how much groupware you need, how comfortable your team is with Docker operations, and how much tuning you expect to do after installation.

mailcow runs each service in its own container, including Postfix, Dovecot, SOGo and Rspamd, so it suits a team that is comfortable reading container logs and updating images. Its documented default needs at least 6 GiB of RAM plus 1 GiB of swap, and the requirements page recommends 8 GiB for about 5 to 10 users. Mail-in-a-Box is the opposite trade. It has no user-configurable setup options, it runs its own nsd4 DNS server, and it sets SPF, DKIM, DMARC and DNSSEC records automatically. For a solo operator with one domain, that fixed setup is the advantage, because there is little to misconfigure.

Before you choose, confirm three things. First, count your domains and mailboxes for the next two years. Second, decide whether users need SOGo shared calendars and ActiveSync, or whether CardDAV and CalDAV through Nextcloud are enough. Third, check the current mailcow system requirements against the machine you plan to use, and read the Mail-in-a-Box README for its own hardware and Ubuntu 22.04 LTS guidance, since those figures are not part of this comparison. If you later outgrow a fixed appliance, plan the migration of mailboxes and DNS records now.

Which fit suits which mail scenario

This table matches common mail scenarios to the platform that fits better and the condition that decides it. Read each row against your own domain count, groupware needs and appetite for configuration, since the better choice flips when those change.

ScenarioBetter fitCondition that makes it so
One personal or family domainMail-in-a-BoxYou want a single Ubuntu 22.04 machine, automatic SPF, DKIM, DMARC and DNSSEC records, and you accept that the setup choices are fixed.
Small company with several domainsmailcowIts multi-domain suite is built for managing several domains from one installation, and you need per-domain administration that an appliance without options does not offer.
Team needing shared calendars and mobile syncmailcowmailcow ships SOGo groupware and ActiveSync support, and the stack is built around those services. Confirm the ActiveSync and calendar behavior against your own phones and clients before you commit.
Admin who wants to change defaultsmailcowMail-in-a-Box says it is not meant to be customized by power users and has no user-configurable setup options, so changes to components are a poor fit. mailcow exposes configuration, though changes still need testing after upgrades.
Team that already runs DockermailcowEach application runs in its own container, so your container tooling, backups and monitoring can apply directly. Confirm that your hosts meet its supported distributions and memory requirements first.
Single small server with tight resourcesMail-in-a-Boxmailcow requires at least 6 GiB of RAM plus 1 GiB of swap by default. If the machine is smaller or shared with other workloads, the appliance footprint is easier to justify, though you should verify it against your own load.
Operator who wants a supported vendor pathConfirm before decidingmailcow is maintained by The Infrastructure Company GmbH, which suggests support contracts through Servercow. Mail-in-a-Box is CC0-1.0 with no listed commercial support, so ask for the support model you need in writing.

How mailcow's containers and Mail-in-a-Box's single stack differ in operation

mailcow splits the mail stack into one container per application, while Mail-in-a-Box runs the whole stack on one Ubuntu machine with its own DNS server. The difference shows up in how you update, troubleshoot, recover and change the system after launch.

Updates touch containers, not one system

mailcow runs Postfix, Dovecot, Rspamd, SOGo, ClamAV, MariaDB, Redis, Nginx, Unbound, Olefy and an ACME client each in its own container, so an update is a set of image changes that can be reviewed component by component. Mail-in-a-Box upgrades its Postfix, Dovecot, Roundcube, SpamAssassin, Nextcloud, Z-Push and nsd4 components together on one host. Ask each vendor how a failed upgrade is rolled back and whether a single component can be pinned while others move forward.

Troubleshooting by service boundary

In mailcow, a delivery fault can be traced to one container, such as Rspamd for filtering or Unbound for resolution, and its logs can be read separately. On Mail-in-a-Box, the same symptoms point to processes on one host, so the diagnosis depends on knowing how Postfix, Dovecot and the bundled services interact. Teams should confirm that their staff can read container logs and restart a single service without disturbing the rest.

DNS ownership on a single host

Mail-in-a-Box runs its own nsd4 DNS server and sets SPF, DKIM, DMARC and DNSSEC records automatically, so the appliance controls the zone it serves. mailcow does not bundle an authoritative DNS server; it expects you to publish the records it generates at your existing DNS provider. Before choosing either, confirm who manages the domain's DNS, whether registrar or provider changes can be automated, and how DNSSEC is handled in your environment.

Groupware is a separate choice

mailcow includes SOGo for groupware and ActiveSync support, which makes it a self-contained mail and calendar system. Mail-in-a-Box delegates CardDAV and CalDAV contacts and calendars to Nextcloud and Exchange ActiveSync to Z-Push, so those services carry their own upgrade cycles and storage. Check whether your users need a single groupware interface, and confirm how contacts and calendars are backed up alongside mail.

Resource headroom and optional services

mailcow's documentation lets you disable ClamAV and full-text search with SKIP_CLAMD and SKIP_FTS to save memory, which gives operators a lever when the host is constrained. Mail-in-a-Box does not offer comparable configuration choices, because it is built without user-configurable setup options. Before you size a host, confirm the memory requirements for your expected user count and whether the workload justifies the separate container layout.

Changing the stack later

Running each service separately in mailcow makes it easier to replace one component, for example by adjusting configuration around a single container, but it also means more moving parts to migrate. Mail-in-a-Box is one machine with a fixed design, so moving off it usually means rebuilding the mail server elsewhere and moving mailboxes and DNS. Ask what a move between these two options would require for mailboxes, calendars and DNS records before committing.

Side-by-side on DNS, groupware, resources and licensing

This table sets mailcow and Mail-in-a-Box against the requirements that most often decide the choice: license, operating system, memory, disk, ports, DNS, groupware and release cadence. Rows marked as items to confirm are areas where the supplied facts do not settle the answer, so check them against the current documentation and your own environment before deciding.

CriterionmailcowMail-in-a-Box
LicenseGPL-3.0 dockerized suite maintained by The Infrastructure Company GmbH, which suggests support contracts through ServercowCC0-1.0 public domain dedication, with no paid edition or vendor support contract named in the supplied facts
Supported operating systemsDebian 11 to 13, Ubuntu 22.04 or newer, AlmaLinux 8 and 9, Rocky Linux 9; no OpenVZ, LXC or NAS devicesFresh Ubuntu 22.04 LTS 64-bit machine, as stated in its README
Minimum memoryAt least 6 GiB RAM plus 1 GiB swap in default configurationNot stated in the supplied facts; confirm against the current README before sizing
Memory guidance by user count8 GiB for about 5 to 10 users; 16 GiB for a company with 15 ActiveSync phones and about 50 concurrent IMAP connectionsNot stated in the supplied facts; ask the project for sizing guidance for your user count
Disk requirements20 GiB excluding email storage; ClamAV and full-text search can be disabled with SKIP_CLAMD and SKIP_FTS to save memoryNot stated in the supplied facts; plan mail storage separately and confirm the base footprint
Required inbound ports25, 465, 587, 143, 993, 110, 995, 4190, 80 and 443Not stated in the supplied facts; confirm the port list in the README before opening firewall rules
DNS handlingDocumented setup that the operator configures; confirm the record set and DNSSEC support against the mailcow documentationRuns its own nsd4 DNS server and sets SPF, DKIM, DMARC and DNSSEC records automatically
Groupware and ActiveSyncSOGo groupware and ActiveSync support, with the 16 GiB guidance above for ActiveSync loadNextcloud for CardDAV and CalDAV, Z-Push for Exchange ActiveSync, Roundcube for webmail
ConfigurabilityMulti-domain suite with separately containerized services; confirm the configuration options your use case needsDeliberately no user-configurable setup options and not meant for power users
Release cadenceDate-based releases; 2026-09a published on October 6, 2026Versioned releases; v77 published on September 26, 2026

What each license allows and what, if anything, is paid

mailcow-dockerized is licensed under GPL-3.0 and is managed and maintained by The Infrastructure Company GmbH. Its README suggests that organizations seeking support contracts look to Servercow. The license governs what happens when you copy, change or hand the software to someone else. Running mailcow for your own staff, with changes you make yourself, carries no license fee. Conveying modified copies outside the organization is where the obligations start.

  • Running and modifying: You can run, study and change the code for internal use without paying a license fee.
  • Redistribution: Giving modified copies to outside parties, including a contractor who operates the stack for you, can trigger GPL conveyance duties such as making corresponding source available.
  • Support route: The README suggests support contracts through Servercow. The sources do not give prices or service levels, so ask for scope, response times and exclusions in writing.
  • Word mark: mailcow is a registered word mark of The Infrastructure Company GmbH. The GPL does not grant trademark rights, so a fork or hosted service should not use the name without permission.
  • Maintainer control: The Infrastructure Company GmbH drives the project's releases, such as the date-based 2026-09a published on October 6, 2026, so your upgrade plan depends on that maintainer's cadence.

Confirm with counsel whether your planned internal modifications and any contractor access fall within the license terms in your jurisdiction.

How DNS handling changes the work for each platform

Mail-in-a-Box takes most DNS record work off your hands. Its README says the appliance runs its own nsd4 DNS server and sets SPF, DKIM, DMARC and DNSSEC records automatically. That removes a set of manual steps that often delay go-live, but it also ties DNS hosting to that one Ubuntu machine. If your zone is served elsewhere, you need to plan how the appliance's generated records get into that zone, and you need a clear answer on what happens to mail flow if the box is rebuilt or moved. Read the README and the Mail-in-a-Box repository before deciding who owns the zone for the life of the service.

mailcow leaves DNS ownership with your team. mailcow's containers include Unbound for resolution, but the record set your domain needs is still something you publish and maintain at your DNS host, using the values mailcow's documentation gives you for MX, SPF, DKIM and DMARC. Your team also still owns the domain registrar, the reverse DNS (PTR) record for the server's public IP, and the inbound access that the mailcow system requirements list, including TCP ports 25, 465, 587, 143, 993 and 443. Reverse DNS in particular is set at whoever controls the IP block, which is often a hosting provider rather than you. Confirm that control before you pick a hosting option.

Before go-live, confirm the following with your provider and registrar. Ask the hosting provider whether outbound port 25 is open, who sets PTR records for the IP, and how long a change takes to appear. Ask the registrar who holds the zone and whether DNSSEC can be enabled for it, since Mail-in-a-Box turns on DNSSEC while mailcow does not manage it for you. Keep a written record of every record you publish and who approved it. A zone change made during cutover is the most common place for a mail outage to start, so test MX, SPF, DKIM and DMARC lookups from outside your network before you move any user.

What drives the running cost of each platform

mailcow is sized by its documented memory guidance. Its default configuration needs at least 6 GiB of RAM plus 1 GiB of swap, and the project recommends 8 GiB for about 5 to 10 users and 16 GiB for a company with 15 ActiveSync phones and about 50 concurrent IMAP connections. It also needs 20 GiB of disk before email storage. Mail-in-a-Box runs on a single fresh Ubuntu 22.04 LTS machine, and its footprint is that one box plus the storage you give it. Hardware is usually a one-time purchase or a recurring cloud instance fee, so the instance size you pick sets the monthly bill.

  • Memory sizing: mailcow's published tiers scale with user count and client type, so a mailbox count that grows past 10 users or adds ActiveSync devices moves you up a tier.
  • Optional savings: SKIP_CLAMD and SKIP_FTS can disable ClamAV and full-text search to save memory, at the cost of antivirus scanning and search features.
  • Single-machine limit: Mail-in-a-Box has no published multi-node layout, so growth means a larger machine rather than extra nodes.
  • Storage growth: mailbox storage is separate from both footprints and grows with retained mail and attachments.

Ask providers and your own platform team to price the instance class, the disk size for mail retention and any backup storage, and to confirm the memory tier for your actual user and device count.

How to move users from Mail-in-a-Box to mailcow, or back

This sequence moves a multi-domain mail service from one host to another while keeping mail flowing, so that each domain, mailbox, alias and client setting is verified before the old server is retired.

  1. Inventory domains, mailboxes and aliases

    Start by listing every domain, mailbox, alias, forwarding rule, catch-all and shared address on the current server, along with which people and devices use each one. The administrator on the existing Mail-in-a-Box host does this work, ideally with the mail owners reviewing the list. The output is a written inventory that the new host must match. Confirm that nothing is missing by comparing the list against the admin panel and a sample of real client configurations. Aliases and forwarding rules are the most common gaps, so check them line by line.

  2. Export mail, contacts and calendars

    Mail-in-a-Box stores contacts and calendars in its Nextcloud instance, so export them through Nextcloud (or the CardDAV and CalDAV endpoints) into standard formats, and copy the mailboxes from Dovecot to a storage location you control. An IMAP sync tool can copy mail between servers, but test it on one mailbox first. Confirm the output by counting messages per folder and opening exported contacts and calendar entries in a separate client. Keep the original server untouched until the copies are verified.

  3. Rebuild DNS records and DKIM keys

    On the new host, create the mail records for each domain, including MX, SPF, DMARC and the DKIM public key that mailcow generates for that domain. Mail-in-a-Box sets SPF, DKIM, DMARC and DNSSEC automatically on its own nsd4 server, so records that were managed there must be recreated in whichever DNS provider holds the zone, and the new DKIM keys will differ from the old ones. Confirm the work by querying each record from outside your network and sending test messages that pass SPF, DKIM and DMARC checks. Plan for a period when both key sets are valid, so messages still in transit verify correctly.

  4. Recreate aliases, groups and mobile profiles

    Rebuild the aliases, forwarding rules and shared mailboxes from the inventory in mailcow's admin interface. Mobile devices need separate attention: Mail-in-a-Box provides Exchange ActiveSync through Z-Push, while mailcow uses its own ActiveSync stack, so users should expect to re-add accounts and accept new device profiles. Contact and calendar sync usually needs a fresh subscription on each device, because the CardDAV and CalDAV endpoints change with the host name. Confirm each item by checking one test account per device type against the inventory.

  5. Run both servers in parallel

    Keep the old server receiving mail while the new one is tested with a small group of users using test domains or a staging subdomain. Compare message delivery, spam scoring, calendar invitations and mobile sync on both systems. The goal is to find configuration gaps before any public DNS change. The output is a short list of confirmed issues and their fixes, with a named owner for each. Do not cut over until that list is empty for the functions your users rely on.

  6. Cut over MX and client settings

    Change the MX records to the new host and update client settings for IMAP, SMTP, ActiveSync, CardDAV and CalDAV for all users, with the old host still reachable for fallback. Mail sent to the domain during DNS propagation may reach either server, so keep both servers receiving mail until the old records have expired. Confirm the cutover by sending and receiving test messages from several providers and checking that delivered mail arrives at the new host. Track any user who still connects to the old server.

  7. Decommission the old server

    Once mail and sync have been stable on the new host, retire the Mail-in-a-Box machine. Take a final backup, keep it for the retention period your records policy requires, then remove the old DNS entries and revoke any remaining credentials. Confirm that the old host no longer receives mail and that backups restore cleanly on the new platform. Record the final state, including the DKIM selector in use, in your runbook so the next administrator knows what to expect.

What implementing each involves and where projects run long

A mailcow build is a multi-container project, so the scope has to name every layer before work starts. Sizing comes first: the mailcow system requirements call for at least 6 GiB of RAM plus 1 GiB of swap in the default configuration, with 8 GiB suggested for about 5 to 10 users and 16 GiB for a company with 15 ActiveSync phones and about 50 concurrent IMAP connections. The Docker host needs hardening (host firewall, SSH access, update routine, and restricting which ports are open, including the ten incoming TCP ports mailcow lists). The statement of work should also cover domain and certificate setup through the bundled ACME client, groupware configuration for SOGo, ActiveSync testing from the phones you actually use, and backup and monitoring for the MariaDB, Redis and mail storage volumes. Ask whether ClamAV and full-text search will stay enabled, because disabling them through SKIP_CLAMD and SKIP_FTS changes the memory budget and the security controls you are signing off.

A Mail-in-a-Box build is smaller in scope because the appliance decides most settings for you. The installer targets a fresh Ubuntu 22.04 LTS 64-bit machine and configures Postfix, Dovecot, Roundcube, SpamAssassin, Nextcloud for contacts and calendars, Z-Push for ActiveSync, and its own nsd4 DNS server. The work that remains is the host, the domain registration, the records at your registrar, and the user list. It stops where the design stops: there are no user-configurable setup options and the project says it is not meant to be customized by power users. If your requirements involve a custom filter chain, a separate DNS platform, multiple domains with different policies, or clustered storage, the build is out of scope for this appliance, and the discovery phase should establish that before a date is set.

Projects run long in four places. The first is DNS and reputation work: SPF, DKIM, DMARC and DNSSEC records must be correct, and when delegated nameservers are involved, propagation and registrar changes take time you do not fully control. Confirm who edits the registrar and how long your change process needs. The second is migration of existing mailboxes, where message counts, folder structures and quotas are usually larger than the inventory suggests. The third is client reconfiguration, since phones, desktop clients and ActiveSync profiles each need testing. The fourth is backup restore tests, which teams often skip and then discover the restore procedure is undocumented. DeployOpen writes these items into the written scope and deliverables, with the responsibilities for DNS changes, mailbox moves and restore tests named per party. Timelines are agreed in that scope, so request a fixed-scope proposal that separates these work packages and ask for the assumptions behind each one.

Common questions before choosing or hiring help

What does it cost to run mailcow or Mail-in-a-Box?

Neither project charges a license fee for the software itself, since mailcow is GPL-3.0 and Mail-in-a-Box is released under CC0-1.0, so the recurring costs are the server, your staff time and any outside support you buy. For mailcow, memory drives hardware cost: its system requirements page lists at least 6 GiB of RAM plus 1 GiB of swap in the default configuration, 8 GiB for about 5 to 10 users, and 16 GiB for a company with 15 ActiveSync phones and about 50 concurrent IMAP connections. It also needs 20 GiB of disk excluding email storage. Mail-in-a-Box runs on one fresh Ubuntu 22.04 machine. Mailbox count, mail volume, spam load and backup retention push both costs up. Ask your hosting or hardware team to price a machine that meets the mailcow requirements, and ask for backup storage as a separate line.

How long does a mail server deployment take?

The public documentation for both projects does not give a deployment duration, so confirm the timeline against your own written scope. The install itself is rarely the long part. What sets the timeline is DNS access, reverse DNS for the server address, confirmation that the hosting provider allows outbound and inbound mail on port 25, certificate issuance, migration of existing mailboxes, client testing and deliverability checks against major mailbox providers. mailcow also needs its required TCP ports (25, 465, 587, 143, 993, 110, 995, 4190, 80 and 443) open before testing can begin. Ask for each of these steps to appear as a separate milestone with an owner and an acceptance test, so delays are visible early.

Can one administrator run a mail server without outside help?

A single administrator can run either stack if they are comfortable with Linux administration, DNS, TLS certificates and mail delivery. Mail-in-a-Box is designed for that case: it turns a fresh Ubuntu 22.04 LTS machine into a working mail server with no user-configurable setup options, and it sets SPF, DKIM, DMARC and DNSSEC records automatically. mailcow asks more of the operator, because it runs each application in its own container and has more settings to understand. Outside help usually covers the parts a single admin rarely has time for: hardening, migration, monitoring, backup restore testing, upgrades and documentation. DeployOpen delivers these as fixed-scope engagements, and ongoing support is available as a retainer.

What does the mail server team need to keep running?

Plan for recurring operational work in four areas:

  • DNS and identity records, including SPF, DKIM, DMARC, reverse DNS and any changes when you add domains or users.
  • Updates, since mailcow publishes date-based releases (for example, 2026-09a on October 6, 2026) and Mail-in-a-Box publishes numbered releases (v77 on September 26, 2026). Test each update before production.
  • Backups and restore tests, which matter more than the backup job itself.
  • Queue, spam and certificate monitoring, including watching for blocklist listings.

mailcow's ACME client handles Let's Encrypt renewals, but you still need alerting when renewals fail. Ask any provider who performs these tasks, how often, and what the escalation path is.

Can mailcow host several email domains on one server?

mailcow is a configurable multi-domain suite, so one installation can serve more than one mail domain, with mailboxes, aliases and per-domain settings managed from its admin interface. Confirm the exact domain and mailbox limits for your version, and how each domain's DNS and certificates are handled, in the mailcow documentation before you size the server. Memory needs grow with users and concurrent connections, so a multi-domain plan should be sized by mailbox count and activity, not by domain count alone. Ask your provider to show a test domain added, configured and verified end to end as part of the written scope.

Can a Mail-in-a-Box deployment be changed or moved later?

Mail-in-a-Box is built to be run as delivered: it has no user-configurable setup options and states that it is not meant to be customized by power users. Changes are therefore limited, and heavy customization means working against the design, which raises maintenance cost at every upgrade. Moving off it later is a migration project, not a configuration change. The work includes exporting mailboxes, recreating users, aliases and calendars, moving DNS records, and reconfiguring client devices. Before you commit, confirm with the project's documentation and your own test that you can export all mail, contacts and calendars in a usable format. The project's source is available at the Mail-in-a-Box repository.

What should a fixed-scope quote for mail server work include?

Ask for a written scope that lists each item below with a deliverable and an acceptance test:

  • The platform, version, domains, user count and hosting environment covered.
  • DNS, reverse DNS, TLS and deliverability work, with the records to be created or changed.
  • Migration of existing mailboxes, including the source, the method and the cutover window.
  • Hardening, backup configuration and a documented restore test.
  • Client testing and handover documentation.
  • Post-go-live support, and whether it is a separate retainer.
  • What is excluded, such as hardware, third-party services or licensed add-ons.

No quote should omit the exclusions. DeployOpen agrees scope, deliverables and timelines in writing before work starts, and does not publish a price list, so ask for the quote to follow directly from that scope.

How DeployOpen helps choose, implement or migrate mail

DeployOpen is a Chainscore Labs company that plans, implements, hardens, backs up and documents self-hosted open-source platforms inside the client's own infrastructure. For mailcow vs Mail-in-a-Box, we help teams decide which fits their domains, users and DNS model, then build and hand over the chosen stack.

How we scope

  • We confirm the number of domains, mailboxes, client types and groupware needs before recommending either platform.
  • We review who controls DNS and whether the team needs to manage DNS records itself.
  • Engagements are fixed-scope, with deliverables and timelines agreed in writing before work starts.

How we build

  • We size the host against the vendor's published memory, disk and port requirements for the chosen platform.
  • We configure mail flow, SPF, DKIM and DMARC records and test deliverability against your domains.
  • We run security testing on the mail services and document the hardening steps applied to the server.

How we hand over

  • We document the installed components, configuration decisions and the upgrade path for your team.
  • We walk administrators through backup, restore and user migration procedures on your own infrastructure.
  • We deliver runbooks that state what the team owns after handover and what remains with the vendor.

How we support

  • Ongoing support, upgrades and continuous testing are available as retainers after handover.
  • Retainer scope, response expectations and included upgrades are confirmed in writing before service starts.
  • We can prepare mail systems, controls and evidence for compliance assessments, though auditors issue the reports.

Talk to our team.

Tell us what you're working on, whether it's a deployment, an audit, a security test or a cyber range. You'll speak with an engineer who can help you scope it.

  • 30-minute call: free, with no obligation.
  • NDA on request: we can sign before you share details.
  • Clear next steps: a scope and plan after the call.