Open-source email migration · Rust · MIT

MailSwiftSync: an imapsync GUI built for bulk migrations

Plan → Preflight → Execute → Verify → Audit. Move many mailboxes between IMAP servers with safety gates, restart-aware state and evidence you can hand to a customer.

More than a wrapper around imapsync

imapsync is the proven engine for copying mail between IMAP servers, but on its own it is a command line and a log file. MailSwiftSync is a local-first desktop application and CLI that runs imapsync (or native Dovecot tooling when the destination is Dovecot) and owns everything around the transfer: which accounts are ready, what ran, what failed, what needs a decision, and whether the destination actually matches the source.

It is aimed at hosting administrators, consultants and MSPs moving several or many mailboxes, who need a reviewable plan and a record of what happened, not just a loop over accounts.

Your source mailbox is never modified

MailSwiftSync only writes to the destination. There is no option in the interface, the CLI or the extra imapsync options field that deletes or alters source messages.

What it does

  • Batch migrations from CSV or XLSX with preflight gates, 1–32 workers (default 2), cancellation, retries and restart-visible state.
  • Dry run by default. Preview the redacted command, run preflight, then explicitly confirm a live run.
  • Provider-friendly throttling: hierarchical rate limits per provider, tenant, credential and mailbox that back off automatically when a server pushes back.
  • Actionable failures: every error is classified as authentication, quota, rate limit, transport, configuration, message or verification, with a recommended next step on the Recovery page.
  • Verification and evidence: metadata-level reconciliation with missing, extra and modified counts, optional body hashing, and an exportable, signable assurance report.
  • Credentials kept out of files: optional OS keyring references, plus a browser OAuth (PKCE) flow for Google Workspace and Microsoft 365 using your own registered app.

When to use it

Use raw imapsync for a quick one-off copy. Use Dovecot's own tooling if you already have a tested server-side workflow. Use MailSwiftSync when you are coordinating a multi-mailbox or mixed-provider migration and need durable state, safety gates and proof, without sending mail data through a hosted migration service or paying per mailbox.

Getting started

Install the qualified imapsync engine (MailSwiftSync pins imapsync 2.314 for trusted verification), then download a build for Linux, Windows or macOS from the releases page:

mailswiftsync install-engine   # Debian/Ubuntu and Windows: fetches and checksum-verifies imapsync 2.314
mailswiftsync doctor           # checks the configured engine

Start with Dry run / preflight checked and a test destination mailbox. New to imapsync itself? Read how to migrate email with imapsync on the command line first.

Honest status

MailSwiftSync is an early 0.1 Technical Preview for experienced mail administrators. Native Dovecot execution is experimental, and hosted-provider pairs such as Google Workspace and Microsoft 365 are not yet qualified against live tenants. It is not a managed migration service.

Prefer a hands-on migration?

Cyber Duct Tape runs mailbox migrations and fixes the DNS, SPF, DKIM and DMARC records around them. See email and DNS repair or request help.