How it works
A full migration, start to finish — with the real app in front of you.
Every screen below is Mailwynx's actual interface. Follow it top to bottom: from launching the app to watching mail land in the destination and handing your client the report. Most engineers get their first pilot batch running the same afternoon.
The screens are Mailwynx's own UI, shown with sample data. Your live runs look identical.
Before you start
What you'll need
A machine to run it on
Your own Windows PC, Mac, or a small Linux VM with Python 3.10+. Mailwynx runs locally — no public ports, nothing exposed to the internet.
Access to each side
For Microsoft 365, a one-time Azure app registration (10 min). For Google Workspace, a service account with domain-wide delegation. For plain IMAP, host plus an app password. All covered in the docs.
Your licence key
One Mailwynx key you top up with mailbox packs — buy 100 or 300 at a time and the balance grows on the same key. Migrate 3 mailboxes free before you buy.
The walkthrough
Eight steps, from launch to report
Launch Mailwynx and unlock your vault
Start the app and open it in your browser at localhost. The first time, you set a master password that encrypts every saved credential on disk. After that, one password unlocks all your migration projects — nothing leaves your machine.
# start the local web app $ mailwynx web ✓ Mailwynx running at http://127.0.0.1:8770
Create a new project
A project is one migration: a source, a destination and a list of mailboxes. Your saved projects live on the home screen with their last-run status, so you can pause and pick any of them back up later.
Choose your source
Name the project, then pick where mail is read from: Microsoft 365, Google Workspace or generic IMAP. Click a platform tile to continue to its connection details.
Connect the destination
Pick the destination platform and enter its credentials. For Microsoft 365 that's the three values from your Azure app registration — tenant ID, client ID and the client-secret value. Mailwynx talks to Microsoft Graph directly, so it moves mail, calendar and contacts at full fidelity.
Map the mailboxes
Add each source address and where it should land. Type them in, import a CSV, or — for a whole M365 tenant — hit Autodiscover to pull the mailbox list automatically. Leave secrets blank when the side uses API auth (Graph or Gmail); fill them in for IMAP app passwords. Download a sample CSV to start from.
Review and verify connections
Before anything moves, Mailwynx tests every credential and lists the folders it can see on each side. Green means it connected and can read/write; a red row tells you exactly what's wrong. Nothing is copied at this stage.
Pre-stage with a dry run, then migrate
Save the project and open its dashboard. Pre-stage (dry run) counts exactly what would move without touching the destination — a great pilot check. Then hit Migrate. Every mailbox gets a live progress card with migrated / skipped / failed counts and a streaming activity log. It throttles itself under the provider's rate limits, and it's safe to stop and resume — it picks up on a delta pass.
Open the report and cut over
When a run finishes, Open full report gives you a self-contained HTML summary (and a CSV) — per-mailbox counts, skips and any failures — ready to hand a client or keep for your records. Run a final delta pass at cutover to sweep up mail that arrived during pre-staging, then switch MX to the destination. Done.
Prefer the terminal?
The same migration, on the command line
The web UI is a front-end over the same engine. Scripters and CI pipelines can drive it entirely from a YAML config with four commands.
# 1. install (once) $ python -m venv .venv && source .venv/bin/activate $ pip install -e . # 2. write a starter config, then edit it $ mailwynx init config.yaml # 3. test credentials + list folders (moves nothing) $ mailwynx verify config.yaml # 4. count what WOULD move $ mailwynx dry-run config.yaml # 5. migrate — safe to re-run (delta + resume) $ mailwynx run config.yaml ✓ done — 48,210 migrated, 84 skipped, 0 failed · report in logs/reports/
Full config reference, provider setup and troubleshooting live in the docs.
Ready to run your first migration?
Start with the free IMAP core, or book a demo to see a full M365 tenant move end to end.
Mailwynx