Plesk email migration via IMAP is one of the most reliable ways to move mailboxes from any source server — Gmail, cPanel, or another Plesk instance — to your Plesk server without losing a single message. Whether you're consolidating hosting for a client or moving an entire organisation, a well-executed plesk email migration imap workflow preserves folder structure, read/unread flags, and message timestamps. This guide covers everything from Plesk's built-in Mail Import tool to bulk migrations with imapsync, plus a verification checklist so you can confirm zero data loss before cutting over.
What is IMAP-Based Email Migration and When to Use It
IMAP (Internet Message Access Protocol) keeps all mail stored on the server and synchronises state between clients and the server. This makes it the ideal transport for migrations: because messages live on the server rather than a local client, an IMAP-to-IMAP copy is a faithful, lossless transfer.
Use IMAP-based migration when:
- You are moving mailboxes from any IMAP-enabled source (Gmail, Yahoo, cPanel/WHM, Zimbra, Exchange with IMAP enabled, or another Plesk server)
- You need to preserve read/unread status, message dates, and folder hierarchy
- You want a live cutover with minimal downtime — IMAP sync can run continuously until the DNS MX switch
- You are migrating dozens or hundreds of mailboxes and need scriptable automation (imapsync batch mode)
If the source server is also Plesk and you have SSH access to both, the Plesk-to-Plesk Migration Manager can move entire subscriptions including DNS and databases. But for cross-platform or provider migrations where you only have IMAP credentials, the IMAP path described here is the safest option.
💡 None of these worked? Skip the guesswork.
Get Expert Help →Prerequisites: Preparing Source Email Accounts for Migration
Before touching the Plesk UI, lock down these prerequisites or the migration will fail mid-transfer.
Log in to the source mail provider and confirm IMAP access is active. On cPanel, go to Email Accounts → Connect Devices and verify IMAP is listed. On Gmail, go to Settings → See all settings → Forwarding and POP/IMAP and set IMAP Status to Enabled.
You will need: source IMAP hostname, IMAP port (993 for SSL, 143 for STARTTLS/plain), full email address as the username, and the mailbox password. Record these in a secure spreadsheet or password manager — never in plain-text files committed to version control.
Mail Import only fills an existing mailbox — it does not create one. In Plesk, go to Domains → [your domain] → Mail and add each mailbox before starting the import. Set a temporary password; you can change it after migration.
Ensure the destination Plesk mailbox quota is at least as large as the source mailbox. Undersized quotas silently stop the transfer mid-folder. Navigate to Mail → [mailbox] → General in Plesk and either increase the quota or set it to Unlimited for the duration of the migration.
Some providers rate-limit or block unfamiliar IPs. If the source is a shared hosting provider, open a support ticket to whitelist your Plesk server's IP before running the migration.
In the Plesk admin panel, navigate to Domains → [domain] → Mail → [mailbox address]. Click the Import Mail Messages button. If the button is absent, confirm that the Mail Import extension is installed under Extensions → My Extensions.
Fill in the dialog fields:
- Mail server: the source IMAP hostname (e.g.,
mail.oldhostprovider.comorimap.gmail.com) - Login: the full email address of the source mailbox
- Password: the source mailbox password
Plesk defaults to port 993 with SSL/TLS. If the source server requires port 143 with STARTTLS, expand the advanced options (covered in the next section).
Click Import. Plesk connects to the source IMAP server and begins copying all folders and messages. A progress indicator shows the current folder being transferred. Do not close the browser tab — the import job runs server-side but the UI refresh depends on the open session.
When the import completes, the dialog shows a summary: total messages copied, folders created, and any errors encountered. Review the error list carefully — errors here usually mean a specific folder was skipped (often due to special characters in folder names or oversized attachments).
The GUI import is per-mailbox. For domains with more than 5-10 mailboxes, switch to the imapsync command-line method described later in this guide for efficiency.
In imapsync output, the final summary line shows total messages on host1 vs. host2. They should match. You can also check via IMAP commands:
# Count messages in INBOX on source
openssl s_client -connect mail.sourcedomain.com:993 -quiet <<EOF
A1 LOGIN user@sourcedomain.com password
A2 SELECT INBOX
A3 LOGOUT
EOF
The EXISTS response value is the message count. Compare this number with the destination.
Connect to the destination mailbox with a mail client (Thunderbird works well for this) and verify all folders are present. Cross-reference against a folder list exported from the source before migration.
Open Thunderbird or Outlook connected to the destination Plesk mailbox and spot-check 5-10 messages. Confirm read/unread status matches the source. If flags are missing, re-run imapsync with --useuid flag which uses IMAP UIDs for more reliable flag transfer.
Sort the destination inbox by date. The oldest messages should show their original dates, not today's date. If all messages show today's date, imapsync was run without --syncinternaldates — this is cosmetic but affects user experience. Re-run with the flag to correct it.
Before switching MX records, configure one mailbox in a test client pointing to the new Plesk server. Send a test message from an external address and confirm it arrives in the Plesk mailbox — not the old server. This validates the Plesk mail stack is working independently of the MX cutover.
Set your domain's MX record TTL to 300 seconds (5 minutes) 24-48 hours before the cutover. This minimises the propagation window. After the cutover, raise TTL back to 3600 or higher.
FAQs
Can I migrate emails from Gmail to Plesk without losing labels?
Gmail labels map to IMAP folders. Plesk's Mail Import and imapsync will both create corresponding IMAP folders on the destination. The label-to-folder mapping is preserved, but note that Gmail's system labels (All Mail, Starred) may create duplicate messages. Use --exclude "\[Gmail\]" in imapsync to skip Gmail's system folders and avoid duplicates.
How long does a Plesk IMAP email migration take?
Speed depends on mailbox size and network latency between servers. A typical 10 GB mailbox migrates in 1-3 hours over a 100 Mbps connection. imapsync processes roughly 3-10 messages per second. For large migrations (50 GB+), run imapsync overnight and then do a final re-sync just before the DNS cutover to catch any messages received during the initial sync.
Does the Plesk Mail Import feature work for migrating from cPanel?
Yes. cPanel mail servers expose standard IMAP on port 993 (SSL) or 143 (STARTTLS). Enter the cPanel server hostname, the full email address as the username, and the mailbox password in Plesk's Mail Import dialog. If you get an authentication error, try the format username@domain.com as the login rather than just username.
What is imapsync and is it safe to use for production migrations?
imapsync is an open-source Perl tool maintained by Gilles LAMIRAL, widely used in the hosting industry for IMAP-to-IMAP migrations. It is non-destructive — it only reads from the source and writes to the destination. The source mailbox is never modified. Running it multiple times is safe; it skips messages already present on the destination using IMAP message IDs.
How do I migrate emails to Plesk without downtime?
Run the initial imapsync transfer while the source MX records are still live. Once the initial sync is complete, run imapsync a second time in --dry mode to estimate how many new messages arrived during the first pass. When the delta is small (under a few hundred messages), schedule the final sync and MX record switch together during a low-traffic window. The whole cutover window can be under 15 minutes.
Conclusion
A successful plesk email migration imap workflow comes down to preparation, the right tool for the scale, and rigorous post-migration verification. For single mailboxes, Plesk's built-in Mail Import feature is the fastest path. For bulk migrations across dozens of accounts, imapsync's batch scripting and incremental sync capability make it the professional's choice. Follow the verification checklist before every DNS cutover and you will consistently achieve zero data loss migrations — regardless of the source platform.
If you are planning a migration and want expert support, our team handles end-to-end server migration services including mailbox migrations, DNS cutovers, and post-migration monitoring.
