Local client available · online transfer coming soon

Move your mail
between servers.

Messages, folders and attachments — on your own computer. Online transfer without an account is getting ready for launch.

Transfer workspace

IMAP → IMAP
01
From

Source

Not checked
Connection settingsAutomatic — recommended
02
To

Destination

Not checked
Connection settingsAutomatic — recommended

Online transfer is getting ready for launch. What you see here is the interface: data entry and outgoing requests are disabled. To move mail right now, use the local client.

Source is never deletedSize is measured before the run
03Folders to transferAll folders · 41,208 messages · 12.4 GB
INBOX18 4425.9 GB
INBOX.Sent9 1173.1 GB
INBOX.Archive.2019-202411 8632.9 GB
INBOX.Clients.Invoices1 604412 MB
INBOX.Junk7 33088 MB
04Advanced settingsRun modes · strict mirror
Strict mirror — a destructive option

Deletes messages on the destination that are missing from the source. Off by default: the base mode only copies.

The source is left untouched: the base mode only copies. Credentials are encrypted before the job is queued, and the plaintext password is never stored. If you would rather not hand over the password at all, the desktop client and Docker run without our infrastructure. Get the client →

One full mailbox of up to 5 GB transfers free. Above that, the plan is chosen after the size check.

Transfer logFolder by folder, in real timeIdle
Progress0%
Remaining--:--
Speedmsg/s
Connect both mailboxes and press “Check both”.

Every folder, counts from both sides, and a reason for each skipped message.

Security

How we protect your data.

For an online transfer the worker needs access to both mailboxes — otherwise there is nothing to copy the messages with. So what matters is not a promise that “we take security seriously”, but a precise description of what happens to the credentials at each step.

Security model and how to report a vulnerability
Online service in preparationpreview version
  • TTL
    A separate key for every job

    The connection to the site is protected by HTTPS. Before a job is put in the queue, the credentials are additionally encrypted for the worker: what goes into storage is an encrypted bundle, the plaintext password is not stored and is not written to the logs. The bundle and the key are marked for deletion when the job finishes or on timeout.

  • IN-MEMORY
    Decryption in the worker’s memory

    The bundle is decrypted in the worker’s memory at start-up and lives there until the transfer ends. The transfer itself is carried out by a separate imapsync process managed by the worker — the credentials are passed to that process through the environment and do not end up in the command arguments.

  • NO-STORE
    Messages do not linger

    Messages are streamed from the old server to the new one. We do not store message contents: MoveMailbox does not become a copy of your correspondence.

  • SELF-HOSTED
    Or do not hand over the password at all

    The desktop client and the Docker build run entirely on your side: mail goes directly between your servers, our infrastructure is not involved. This is the strictest option, and it is free.

How a transfer runs

  1. 1
    ConnectionTLS and authentication are checked separately, so an error tells you the actual cause instead of “could not connect”.
  2. 2
    Size checkFolder tree, message counts and total volume — before anything starts copying.
  3. 3
    CopyingFolder by folder, with a live log. Running it again picks up what is missing and creates no duplicates.
  4. 4
    ReconciliationA report with counts from both sides and a list of skipped messages with the reason for each.

What happens to your data

  • The source is left untouchedThe default mode only copies. Deleting on the destination is a separate option behind a confirmation.
  • Plaintext passwords are never storedHTTPS to the site, then credentials are encrypted for the worker and held as an encrypted blob; they are decrypted in memory only for the duration of the job.
  • Your mail does not stay with usMessages stream straight from the old server to the new one — no copy is kept.
  • You can withhold the password entirelyThe desktop client and the Docker image run without our infrastructure.
Full security model

One product · two ways to transfer

Run it in the cloud or take control yourself.

The online version is handy for a one-off transfer and keeps going after you close the browser. The Windows client uses your own machine and does not eat into the cloud limit.

Cloud

Transfer online

Nothing to install. Connect the two mailboxes, run a size check and leave the job to our server.

  • One full mailbox up to 5 GB free
  • No MoveMailbox account, no sign-up
  • The migration keeps running after you close the tab
  • Queue, status and a final report
Try the interface
Windows · Linux · macOS

Desktop client

The interface and the controls run locally. Mail traffic does not consume MoveMailbox Cloud resources.

  • No commercial limit on size
  • Local history and a technical log
  • Runs on top of imapsync — a proven engine
Self-hosted

Your own server

A single docker compose up and the web interface comes up on your side. Mail goes through your own server, with no MoveMailbox infrastructure involved.

  • No limits on size or number of mailboxes
  • SQLite history with no plaintext passwords
  • Passwords go to the imapsync process and are not stored
Docker and systemd

FAQ

Before your first transfer

What happens to my password?

The connection runs over HTTPS. Before a job is queued, the credentials are encrypted for the worker: the plain password is never stored, only an encrypted package is kept for a while. It is decrypted in the worker’s memory for the duration of the transfer. With self-hosted, the password goes to your own mail servers and no MoveMailbox infrastructure is involved.

Does the old mail get deleted?

No. The default scenario is a one-way copy and the source is left untouched. Only switch the old mailbox off once you have compared the folder counts.

What does “up to 5 GB free” mean?

One whole mailbox that measures 5 GB or less moves for free. We do not copy the first 5 GB of a large mailbox and stop halfway — the size is known before the run starts.

What if the transfer breaks off?

Start it again. imapsync checks what is already on the destination and copies only what is missing — a rerun is cheap and creates no duplicates.

All questions and answers

Find out how big your mailbox is. It costs nothing.

Connect two servers, look at the size and decide. Or take the client and keep everything on your side.

Code on GitHub · built on imapsync · no sign-up