Alternatives · Self-Hosted

Mail-in-a-Box alternative.
When one-command-and-done isn't enough.

Mail-in-a-Box does one thing really well: one command, one Ubuntu VPS, working personal email server with webmail, calendar, contacts. Vectis Mail targets a different problem: API-first, multi-tenant, multi-domain mail infrastructure for teams and SaaS that need a transactional sending API alongside mailboxes. The cases where you should stay on Mail-in-a-Box are below.

Last updated · Written by Ian Holt

At a glance

Side-by-side, current as of May 2026.

Vectis MailMail-in-a-Box
Target userTeams, SaaS, multi-tenant operatorsIndividuals, families, single-org
Mail stackPostfix · Dovecot · RspamdPostfix · Dovecot · SpamAssassin
Deployment modelDocker ComposeOne-command shell script (OS-native)
Supported OSLinux (Ubuntu, Debian, RHEL family) with DockerUbuntu 22.04 LTS only (fresh install)
Install difficultyGuided installer, ~20 minOne command, ~15 min
Configuration modelDeclarative YAML + vectis applyWeb control panel · no config-as-code
REST API40+ endpoints (sending, webhooks, domains, mailboxes, analytics)Minimal admin API only · no sending API
Transactional sending APIYes — domain-scoped keys, batch, attachmentsNo — SMTP submission with mailbox creds
Inbound webhooksYes — HMAC-signed, retry-with-backoffNo
Antispam (default)Rspamd (stronger heuristics)SpamAssassin
Multi-tenant / multi-domainBuilt-in: many domains, many tenantsSingle-org-shaped
Per-domain analyticsYes (Pro)No
WebmailRoundcubeRoundcube
Calendar / contacts (CalDAV/CardDAV)Not yet (Phase 4 roadmap)Yes (Nextcloud-based)
Update modelAtomic 6-phase orchestrator with auto-rollbackRe-run setup script (fragile if box modified)
Observability built inPrometheus-format metrics + alerts; Grafana/Loki optionalLogs only · bring your own stack
LicenseBusiness Source License 1.1 (auto-Apache 2.0 after 4y); commercial Pro licenseCC0-1.0 (public domain)
Pricing$0 Starter · $29 USD/tenant/month Pro (unlimited installs)$0 forever · donations welcome
Maturityv0.1.x — production since April 202613 years, v75 (2026-04-20), 15.3k GitHub stars

The verdict

Choose Vectis Mail when…

  • You're a team or SaaS, not a single person or family.
  • You need a real REST API and inbound webhooks alongside mailboxes: a SendGrid-shape sending API that you host yourself.
  • You manage multiple domains and need real multi-tenancy, not single-org constraints.
  • You want declarative config: one config.yaml plus vectis apply, not click-through a web panel.
  • You want orchestrated updates with automatic rollback, not a re-run-the-setup-script model.
  • You want Rspamd's modern heuristics out of the box.
  • You're running on something other than Ubuntu 22.04 (Debian, Ubuntu 24.04, RHEL family).

Stay on Mail-in-a-Box when…

  • You're an individual or family, not a team. Mail-in-a-Box was built for exactly that.
  • You value one-command-install over anything customisable. Mail-in-a-Box wins on raw simplicity.
  • You actively use CalDAV/CardDAV (Nextcloud-based) and can't migrate calendar/contacts out separately.
  • You want the CC0 public-domain license: zero lock-in, zero strings.
  • You specifically don't want to learn Docker, YAML, or any config-as-code model.
  • You're happy on Ubuntu 22.04 LTS and don't anticipate that changing.

How they differ

Different products for different audiences

Mail-in-a-Box's README is explicit: "no user-configurable setup options." That's the value proposition. The project deliberately optimises for one-command personal email sovereignty over flexibility. If you're an individual reclaiming email from Gmail, that's exactly what you want.

Vectis Mail sits in a different category. The audience is teams, SaaS, and multi-domain operators who need a real transactional sending API, inbound webhooks, multi-tenancy, and config-as-code. Comparing the two on the same table is useful for the migration question, but understand what each product is for.

API surface

Mail-in-a-Box exposes a minimal REST API for control-panel operations: creating users, managing aliases, setting forwards. There's no transactional sending API, no inbound webhooks, no domain-scoped keys, no per-domain rate limiting. SMTP submission is the only programmatic send path.

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 Vectis usable as a real transactional service: a SendGrid-shape API that you self-host.

See the API Reference for the full surface.

Multi-tenancy + multi-domain

Mail-in-a-Box is single-org-shaped. You can run multiple domains on one box, but the control panel, the user model, and the operational shape all assume one organisation. Vectis Mail is multi-tenant from the database up: tenants, domains, mailboxes, and API keys are isolated at the database row level. If you're running mail infrastructure for multiple brands or customer subdomains, that's a structural difference, not a config tweak.

Configuration model

Mail-in-a-Box's configuration lives in the web control panel and on-disk files managed by the install script. There's no declarative config surface. Every change is a UI click or a manual file edit, and the upgrade path documented as "fresh OS only" means modifying the box voids the supported upgrade story.

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. Terraform, Ansible, or your own automation can manage Vectis Mail declaratively via the same REST endpoints the CLI uses.

Update + rollback

Mail-in-a-Box upgrades by re-running the setup script: straightforward when the box is unmodified, fragile when you've customised anything. There's no automatic snapshot, no health-check gate, no rollback. If a release breaks something, recovery is whatever you do manually.

Vectis Mail's orchestrator runs a 6-phase pipeline:

  1. Snapshot — Postgres dump + Compose backup taken before any change.
  2. Migrate — forward-only SQL migrations applied with row-level locking.
  3. Pull — new container images pulled and verified.
  4. Deploy — services recreated with the new images.
  5. Health-check — Postfix, Dovecot, Rspamd, API, Traefik all probed for liveness + actual mail-handling readiness.
  6. Complete — change locked in, snapshot retained for the rollback window.

Any phase failure triggers automatic rollback to the snapshot. See Installation for the full update model.

Calendar + contacts

Mail-in-a-Box bundles Nextcloud for CalDAV and CardDAV; calendar and contacts work out of the box. Vectis Mail doesn't ship calendar/contacts yet; that's on the Phase 4 roadmap. If you actively use CalDAV/CardDAV, that's the most significant functional gap and the strongest reason to either stay on Mail-in-a-Box or pair Vectis Mail with a separate groupware deployment.

License + pricing

Mail-in-a-Box is CC0-1.0: public domain, the most permissive license possible. Zero lock-in, zero strings, no commercial edition, no paid support, donations welcome.

Vectis Mail is dual-licensed: BSL 1.1 for the core (free Starter: up to 3 domains, 25 mailboxes per domain, full API, webhooks, monitoring, backups) and a commercial Pro license at $29 USD/tenant/month (unlimited domains and mailboxes, per-domain analytics, OIDC SSO, priority support, one subscription covers unlimited installs). See pricing.

Migrating from Mail-in-a-Box to Vectis Mail

The mail-data layer migrates cleanly (both products are vanilla Postfix + Dovecot). The calendar/contacts and control-panel-config layers need manual export.

  1. Stand up Vectis Mail on a fresh VPS following the installation guide. Configure your domain(s) but leave DNS pointed at Mail-in-a-Box for now.
  2. Sync mailbox data with imapsync or doveadm backup — same Dovecot underneath, maildir transfers directly.
  3. Generate new DKIM keys on Vectis Mail and publish them to DNS alongside the existing Mail-in-a-Box keys. Run both in parallel during the switchover.
  4. Export Roundcube settings (per-user filters, signatures) from Mail-in-a-Box Roundcube and re-import into Vectis Mail Roundcube.
  5. Re-create domains, mailboxes, aliases, and forwards via Vectis Mail's CLI or API. The Mail-in-a-Box control panel doesn't export config-as-code, so this is a manual transcription.
  6. Export Nextcloud calendar + contacts to iCal/vCard if you use them. Vectis Mail can't import these — you'll need a separate CalDAV/CardDAV destination from this point. This is the most significant step if calendar is part of your daily use.
  7. Cut DNS over: update MX to point at the Vectis Mail server. Mail starts flowing through Vectis Mail as DNS propagates.
  8. Verify + decommission: watch logs for a few days, then decommission Mail-in-a-Box.

Realistic timeline: an afternoon for a small personal install without calendar, longer if Nextcloud calendar/contacts are central to your use.

Frequently asked questions

Is Vectis Mail a drop-in replacement for Mail-in-a-Box?

Not really. These are different products targeting different audiences. Mail-in-a-Box is single-server, single-org, one-command-install email sovereignty for individuals and families. Vectis Mail is API-first, multi-tenant, multi-domain mail + transactional sending for teams and SaaS. The mail-data layer (Postfix + Dovecot) migrates cleanly via standard IMAP sync, but the operational shape is different. If you've outgrown Mail-in-a-Box's single-tenant constraints or you now need an API, Vectis Mail is a natural next step. If you're still happy with one-command-and-done personal email, stay where you are.

Does Mail-in-a-Box have a sending API or inbound webhooks?

Mail-in-a-Box exposes a minimal REST API for control-panel operations (creating users, managing aliases) but not a transactional sending API and not inbound webhooks. SMTP submission with mailbox credentials is the only programmatic send path, and inbound mail lands in mailboxes only. Vectis Mail ships 40+ REST endpoints covering sending (single + batch with attachments), inbound webhooks with HMAC signatures, mailboxes, domains, analytics, and admin operations.

Can I run Mail-in-a-Box on something other than Ubuntu 22.04?

No — Mail-in-a-Box explicitly targets fresh Ubuntu 22.04 LTS only. No Debian, no Ubuntu 24.04, no RHEL family, no BSD. Modifying the install or running it on anything else voids the upgrade path. Vectis Mail runs on any Linux that supports Docker — Ubuntu (22.04+ or 24.04), Debian, and RHEL-family hosts are all production-tested.

Will I lose my calendar and contacts if I migrate?

Calendar and contacts on Mail-in-a-Box live in its bundled Nextcloud install (CalDAV/CardDAV). Vectis Mail doesn't yet ship CalDAV/CardDAV (it's on the Phase 4 roadmap), so you'd need to export to iCal/vCard before tearing Mail-in-a-Box down and re-import wherever you end up using calendar from then on. If calendar and contacts are central to your use, that's a real cost; factor it into your migration decision.

Why would I stay on Mail-in-a-Box?

You're an individual or family, not a team or SaaS. You value one-command-install over anything customisable. You actively use the bundled CalDAV/CardDAV (Nextcloud-based). You want the CC0 public-domain license, not BSL 1.1. You specifically don't want to learn Docker or YAML config. Mail-in-a-Box is the right product for those use cases. Stay where you are.

Try Vectis Mail

Production mail + transactional API for teams and SaaS. Multi-tenant, declarative, observable.

Other Vectis Mail alternatives

Coming from a different stack? Read the comparison that matches it.