Repository navigation
v2.0.0
Migrate mail, calendars and contacts between almost any source and target, plan it, script it, and repair what other tools broke.
✨ Highlights
- Repair tab. Analyse a list of mailboxes read-only, then repair the damage other migration tools leave (accents replaced by U+FFFD, mojibake, nameless attachments, detached signature images). Each message is verified before it is written; originals are kept and can be restored.
- Exchange in both directions.
exchange_ewsfor Exchange on premises andm365_graphfor Exchange Online, with mail, calendar, contacts and tasks. Impersonation, app-only and master-user access cover many mailboxes with one credential. Tested against simulated servers, not real Exchange. - More sources and targets. JMAP, Google (Gmail, Calendar, People), CalDAV and CardDAV, plus files: mbox, Maildir,
.eml,.msg,.ics,.vcfand zip. - Planning and control. Dry run, folder mapping in nine languages, per-server and per-account policies, allowed hours, bandwidth limits, named batches, final resync and source/target comparison.
- Command line and API tokens. The
mccbCLI uploads with resume, runs, watches and plans migrations. - Server-side intake. Drop folder, or fetch over HTTP(S), SFTP or S3, with notifications by ntfy, webhook or e-mail.
- New web interface. Side panel for job details, live updates that change only what moved, explicit selection, dark and light themes, nine languages, and a static demo.
- Scales further. Auto mode uses up to 32 mailboxes at once, and recovers from network errors and server overload instead of throttling for good.
⬆️ Upgrading from 1.x
Back up ./data, then docker compose pull && docker compose up -d. Remove the WORKER_CONCURRENCY line from an existing .env to get auto mode. Old links redirect to the new interface, old three-column mailbox CSV files are still read, and API routes and the mccb accounts command keep their names. CSV downloads are now mailboxes.csv and mailboxes-export.csv; upload chunk PUT no longer returns the received list (use received_count in the upload event). Details in the upgrade guide and the changelog.
🐳 Get it
docker pull ghcr.io/selfhostr/mccb:2.0.0Installation guide: https://github.com/selfhostr/mccb/blob/main/docs/install.md
Moved: the project now lives at github.com/selfhostr/mccb and the image at
ghcr.io/selfhostr/mccb. Existing installs should switchghcr.io/yetysw/mccbtoghcr.io/selfhostr/mccbindocker-compose.yml.
📦 Dependencies
cryptography 50.0.0, python-multipart 0.0.31; tests on pytest 9.0.3.
Full changelog: v1.1.2...v2.0.0