mccb
MIT, no paid editionRuns with Docker Compose

From PST files to your servers: mail

mccb imports PST and OST files: mail over IMAP, appointments over CalDAV, contacts over CardDAV. It is built for sysadmins and hosting providers who migrate batches of mailboxes.

Accounts
anna@example.comDone
ben@example.comImporting
clara@example.comQueued
dario@example.comQueued

One job per mailbox, each with its own progress and log.

How it works

One server, many mailboxes, one report each.

  1. Add a server

    The target IMAP server, with automatic DAV discovery.

  2. Add accounts

    One by one, or by CSV (email;password[;login]).

  3. Upload and assign

    Resumable uploads, with a preview of accents and attachments before anything is written.

  4. Run and read

    Run them all, follow the live log, and read one report per mailbox.

See all features

Limits

Read this before you migrate.

Validate a migration on a test mailbox before running it on production data.

  • One administrator, one host

    One shared password, no accounts or roles. SQLite on a local disk, no high availability.

  • Encrypted PSTs are not handled

    A PST whose content is encrypted or protected by a password gives errors or is marked invalid.

  • Corrupted PSTs can crash libpff

    Affected items are skipped and reported. Past a limit of crashes the job fails, and a badly damaged PST can be rejected.

  • Plain HTTP

    Port 22362 speaks plain HTTP. Put mccb behind a reverse proxy and do not expose the port directly.

  • amd64 only

    The published image is for linux/amd64.

What it does not do

Get mccb running

Open http://<host>:22362 and sign in with the printed password. It is shown once. Details are in the docs.

$ mkdir mccb && cd mccb
$ curl -fsSLO https://raw.githubusercontent.com/yetysw/mccb/main/docker-compose.yml
$ docker compose up -d
$ docker compose logs web | grep -A2 "Admin password"