The Mailcow alternative
built for operators.
Both are self-hosted Docker stacks on the same Postfix/Dovecot/Rspamd core. The difference is the operating model: Vectis Mail runs from a single declarativeconfig.yaml, a Go REST API, and atomic updates with health-gated rollback — where Mailcow leans on a bash env file, a web UI, and a manualupdate.sh. Same self-hosted control, driven as code.
At a glance
Side-by-side, current as of June 2026.
| Vectis Mail | Mailcow | |
|---|---|---|
| Mail stack | Postfix · Dovecot · Rspamd | Postfix · Dovecot · Rspamd |
| Container count (default) | 14 | 25+ |
| Configuration model | Declarative YAML + vectis apply | Bash mailcow.conf + web UI |
| REST API | 40+ endpoints (sending, webhooks, domains, mailboxes, analytics) | Minimal admin API only |
| Transactional sending API | Yes — domain-scoped keys, batch, attachments | SMTP submission with mailbox creds |
| Inbound webhooks | Yes — HMAC-signed, retry-with-backoff | No |
| Update model | Atomic 6-phase orchestrator with auto-rollback | Manual update.sh script |
| Per-domain analytics | Yes (Pro) | No |
| Webmail | Roundcube | SOGo |
| Calendar / contacts (CalDAV/CardDAV) | Not yet (Phase 4 roadmap) | Yes (SOGo) |
| Admin UI | React SPA | PHP / Twig |
| License | Business Source License 1.1 (auto-Apache 2.0 after 4y); commercial Pro license | GPL-3.0 |
| Pricing | $0 Starter · $39 USD/tenant/month Pro | $0 · paid ServerCow support optional |
Why teams move to Vectis Mail
Where the modern surface earns the switch.
- You want one config file as the source of truth, not a bash env + web UI dance.
- You need a real sending API + inbound webhooks (replacing SendGrid/Postmark) alongside mailboxes.
- You run a SaaS and need domain-scoped API keys with rate limiting.
- You value orchestrated updates with automatic rollback over a manual
update.sh. - You want per-domain analytics, IP warmup tracking, and built-in observability.
- You want Terraform, Ansible, or your own automation to drive mail as code.
How they differ
Configuration model
Mailcow's configuration lives in a bash-style env file (mailcow.conf) plus per-service overrides in data/conf/. Adding a domain, rotating a DKIM key, or changing rate limits typically means a sequence of web-UI clicks or editing files then restarting services. There's no API for config-as-code.
Vectis Mail uses a single config.yaml as the source of truth.vectis apply diffs the desired state against running state, regenerates affected service configs (Postfix, Dovecot, Rspamd, Traefik), and reloads only what changed. The same operations are also exposed via the REST API, so Terraform, Ansible, or your own automation can manage Vectis Mail declaratively.
API surface
Mailcow has a minimal API focused on admin operations. It doesn't expose a sending API, inbound webhooks, or per-domain analytics endpoints. To send programmatic email through Mailcow, you authenticate against SMTP submission using a mailbox's username + password.
Vectis Mail has 40+ endpoints covering sending (single + batch with attachments), inbound webhooks (full body parsing, HMAC-signed payloads, exponential-backoff retry), mailbox/alias/domain CRUD, analytics, audit logs, and admin operations. Domain-scoped API keys with per-domain rate limits make it usable as a real transactional service: a SendGrid replacement that you host yourself.
See the API Reference for the full surface.
Update + rollback
Mailcow updates run via update.sh: it pulls new images and restarts containers. There's no automatic snapshot, no health-check gate, no rollback. If a migration breaks, recovery is whatever you do manually.
Vectis Mail's orchestrator runs a 6-phase pipeline:
- Snapshot — Postgres dump + Compose backup taken before any change.
- Migrate — forward-only SQL migrations applied with row-level locking.
- Pull — new container images pulled and verified.
- Deploy — services recreated with the new images.
- Health-check — Postfix, Dovecot, Rspamd, API, Traefik all probed for liveness + actual mail-handling readiness.
- Complete — change locked in, snapshot retained for the rollback window.
Any phase failure triggers automatic rollback to the snapshot. The Plan/Apply UI shows the diff before you run it. See Installationfor the full update model.
Observability
Both ship Rspamd, Postfix logs, and Dovecot logs. Vectis Mail also includes Prometheus-format metrics and health alerts out of the box (with an optional Grafana + Loki stack, off by default), plus per-domain analytics on the Pro tier (delivery rates, bounce rates, IP warmup progress, RBL status). Mailcow users typically wire their own metrics stack on top.
Webmail + groupware
One honest scope note: Vectis Mail ships Roundcube webmail with ManageSieve filters but doesn't yet ship calendar/contacts (CalDAV/CardDAV) — that's on the Phase 4 roadmap. Mailcow bundles SOGo for those groupware features today, so if calendar and contacts are a hard requirement right now, that's the one functional gap to plan around when you move.
Pricing
Both are free to self-host. Mailcow's revenue comes from optional ServerCow support contracts. Vectis Mail's Starter tier is free; Pro adds unlimited domains, per-domain analytics, advanced spam controls, OIDC SSO, and priority support for $39 USD/tenant/month, with one subscription covering unlimited Vectis Mail installs. See pricing.
Migrating from Mailcow to Vectis Mail
Because both products use Postfix + Dovecot + Rspamd under the hood, the mail data migrates cleanly. The typical sequence:
- Stand up Vectis Mail on a fresh VPS following the installation guide. Configure your domain(s) but leave DNS pointed at Mailcow for now.
- Sync mailbox data with
imapsyncordoveadm backup: both Mailcow and Vectis Mail are vanilla Dovecot underneath, so the maildir structure transfers directly. - Generate new DKIM keys on Vectis Mail and publish them to DNS alongside the existing Mailcow keys. Run both in parallel during the switchover. (Mailcow keeps its DKIM keys in Redis, not on disk — see where Mailcow's DKIM keys live if you need to locate or export them first.)
- Export Sieve filters (per-user) from Mailcow Dovecot and import into Vectis Mail Dovecot (same file format).
- Export SOGo data (calendar / contacts) to iCal/vCard if needed. Vectis Mail can't import these directly. This is the only non-trivial step.
- Cut DNS over: update MX to point at the Vectis Mail server. Mail starts flowing through Vectis Mail as DNS propagates.
- Verify + decommission: watch logs for a few days, then decommission Mailcow.
Realistic timeline: 2–4 hours for a small (<50 mailbox) install on a quiet day, or a few days of staged migration for larger installs.
Frequently asked questions
What are the best mailcow alternatives?
The leading self-hosted mailcow alternatives are Vectis Mail(the same Postfix/Dovecot/Rspamd core with declarative config, a 40+ endpoint REST API, inbound webhooks and flat per-tenant pricing), iRedMail(OS-native, no Docker), Mailu and docker-mailserver (lighter Docker stacks without mailcow's full UI), Mail-in-a-Box(single-server simplicity), and the from-scratch MTAs Stalwart(JMAP and clustering) and Mox (single-binary). If you like mailcow's self-hosted control but want a transactional API and mailbox hosting on one declarative, self-updating platform, Vectis Mail is the closest fit — the best self-hosted email servers guidecompares all of them by buyer type.
Is Vectis Mail a drop-in replacement for Mailcow?
Mostly yes for the mail stack itself. Both use Postfix, Dovecot, and Rspamd under the hood, so mail data migrates cleanly via standard IMAP-to-IMAP sync. Vectis Mail doesn't ship SOGo groupware (CalDAV/CardDAV), so calendar and contacts data needs to be exported separately if you use those features in Mailcow.
How do Vectis Mail and Mailcow compare on container count?
Vectis Mail ships 14 containers by default (10 if you disable observability and ClamAV). Mailcow's compose stack includes 25+ services (per its publisheddocker-compose.yml, retrieved 12 May 2026). Fewer containers means less coordination overhead during updates and a smaller blast radius when something breaks.
Does Mailcow have a sending API like SendGrid or Postmark?
No. Mailcow exposes SMTP submission with per-mailbox credentials but doesn't ship a domain-scoped REST API for programmatic sending, inbound webhooks, or per-domain analytics. Vectis Mail's API has 40+ endpoints for sending, mailboxes, webhooks, domains, analytics, and admin operations.
Can I migrate from Mailcow to Vectis Mail without downtime?
A short cutover window (typically 30–60 minutes during DNS propagation) is realistic for small installs. Both servers can run in parallel during preparation: mailboxes sync via imapsync, DKIM keys roll over with overlap, and the final MX switch is the only customer-visible change. Larger installs benefit from a staged migration over a few days.
Try Vectis Mail
Production mail server in minutes. Same self-hosted stack, modern surface.
Other Vectis Mail alternatives
Coming from a different stack? Read the comparison that matches it.
vs iRedMail →
Compared with the long-running OS-native open-source mail stack: REST API, declarative YAML, Rspamd by default.
vs Mail-in-a-Box →
One-command personal email sovereignty vs API-first multi-domain infrastructure. When each is the right fit.
vs SendGrid →
Same API surface, no per-email pricing. Flat $0–$39/mo covers unlimited sending volume.
vs Postmark →
Flat $0–$39/mo self-host vs the developer-loved transactional SaaS. Same API, mailboxes included.