A self-hosted IMAP→Maildir archive that pulls every message from any account — or an entire hosting server — into permanent, browsable storage on your own machine. Deleted at the source? Your copy survives. Forever.
Your professional history lives inside an account controlled by someone else. Close a Google or Microsoft account? Get locked out? Provider shuts down? Years of correspondence vanish.
Exports are one-off, incomplete, and rarely repeated. Provider lock-in means leaving costs you your history. Solo professionals — lawyers, accountants, consultants — increasingly need retention for compliance but have no affordable, self-controlled tool.
Archive mode deliberately omits Delete/Expunge — remote deletions cannot propagate. Your local copy survives account wipes, provider shutdowns, and accidental clicks. You own the bytes.
Every message is stored as a plain Maildir file on your disk. No proprietary database, no vendor lock-in. Trivial rsync, easy backups, simple migration. The format will outlive any provider.
docker compose up --build and you are running. A single Go binary manages everything: add accounts via the admin UI, watch sync logs, pick archive vs mirror mode. No cron, no fragile shell scripts.
The Mail Archive Stack is one piece of a larger idea: stop renting your digital life. Own the three things that most people rent, and nothing can disappear.
A domain you control at a registrar that cannot suspend it. Cloudflare, Porkbun, Gandi.
Static files on infrastructure that cannot delete them. Self-hosted or provider-independent.
A permanent local archive that survives any provider action. This is the piece most people are missing.
ACTIVEOwn your domain. Own your website. Own your email. Then it does not matter what happens to any provider — nothing disappears.
Add any IMAP account — Gmail, Fastmail, Outlook, your own server. Or archive an entire cPanel/Plesk/Virtualmin server over SSH/FTP in one job — no per-user passwords required.
syncd runs mbsync on a schedule (default: every 10 minutes). Each account pulls new messages into a local Maildir. Archive mode ensures remote deletions never propagate.
SnappyMail serves your archive read-only over loopback Dovecot IMAP. No sending, no risk. Your archive is always there — even if the source account is gone.
| Capability | Mail Archive | Gmail Takeout | MailStore | Self-Rolled mbsync |
|---|---|---|---|---|
| Permanent by design | ✓ | — | ✓ | — |
| Web UI for browsing | ✓ | — | ✓ | — |
| No per-mailbox fees | ✓ | ✓ | — | ✓ |
| Server-source archiving | ✓ | — | ✓ | — |
| One UI for all accounts | ✓ | — | ✓ | — |
| Runs on any OS (Docker) | ✓ | ✓ | — | ✓ |
| Automatic scheduled sync | ✓ | — | ✓ | — |
Our wedge — permanent-by-design architecture + server-source archiving — is structural, not a feature toggle. It takes years to copy.
A fully managed archive that works with any IMAP provider. No infrastructure to maintain — we handle backups, retention, and compliance. Deploy for your team in minutes.
Yes. All ports bind to 127.0.0.1 only — plaintext IMAP auth is intentional and never exposed beyond the host. Passwords are stored in 0600 files, never rendered back into the UI or written to git.
In Archive mode (the default), deletions on the remote server never propagate. Your local copy is an immutable snapshot. Messages stay in your archive forever.
Yes — via WSL2 with Docker Desktop. The syncd binary refuses to run on NTFS as a safety guardrail, but the Docker compose stack works on any OS that supports Docker.
Your mail lives as plain Maildir files on a bind mount. Back them up with rsync, tar, or your existing backup tool. No proprietary format, no vendor lock-in.
Yes — the server-source feature connects over SSH or FTP to cPanel, Plesk, or Virtualmin and pulls every mailbox in one job. No per-user passwords required.