MSADVANCE LOGO
✕
  • Services
  • About Us
  • Blog
  • Contact
  • English
    • Español
    • English
  • Services

    Collaboration is the key to business success.

    Migración entre tenants Microsoft 365

    Microsoft 365 Migration

    Azure Cloud Architecture

    Azure Cloud Architecture

    Modern Workplace

    Security and Compliance

  • About Us
  • Blog
  • Contact
  • English
    • Español
    • English
Published by MSAdvance on October 22, 2025
Categories
  • Microsoft 365 Migration
Tags
  • Cloud Migrations
  • DKIM
  • DMARC
  • DNS Configuration
  • email security
  • Exchange Online
  • IMAP CSV
  • IMAP migration endpoint
  • IMAP to Microsoft 365 migration
  • Microsoft 365 adoption
  • Microsoft 365 DNS
  • Migration Performance
  • MX SPF DKIM DMARC
  • Office 365 email migration
  • PowerShell
  • Zero Trust

IMAP Email Migration to Microsoft 365 (2025): end-to-end strategy for Exchange Online — CSV, Endpoint, DNS, performance, security, and adoption

If your mail still lives on IMAP servers (cPanel, Dovecot, Courier, Zimbra, an ISP, or Gmail in IMAP mode), moving to Microsoft 365 / Exchange Online can be fast and clean… if you frame it right. This article goes beyond the wizard and gives you a strategic, hands-on view: what IMAP does (and doesn’t) migrate, how to design waves with solid CSVs, how to configure a robust Migration Endpoint, how to plan DNS (MX, Autodiscover, SPF, DKIM, DMARC) without losing deliverability, and how to optimize performance and concurrency. We close with security, end-user support, success KPIs, and ready-to-use templates.

Updated: October 22, 2025 · English (International)

IMAP → Microsoft 365 migration with metrics, less risk, and more value

At MSAdvance we blend architecture, automation, and field experience so the change is fast and almost invisible to the business.

Tell us about your scenario IMAP → Microsoft 365 migration services

Contents

  1. 1) What an IMAP → Microsoft 365 migration is, and when it makes sense
  2. 2) True scope and limits: what IMAP migrates, what it doesn’t, and practical values
  3. 3) Project plan & governance: pilots, waves, schedule, and roles
  4. 4) DNS & deliverability: MX, Autodiscover, SPF, DKIM, and DMARC without surprises
  5. 5) Preparing the source IMAP server (Gmail, Dovecot, Courier, cPanel, Zimbra)
  6. 6) Mapping special folders and IMAP encodings (modified UTF-7)
  7. 7) CSV for IMAP: headers, admin credentials, and UserRoot
  8. 8) Migration Endpoint and batches (EAC/PowerShell) with full control
  9. 9) Performance & concurrency: speed up without breaking
  10. 10) Monitoring, common errors, and skipped items
  11. 11) MX cutover and safe finalization: incremental sync and 72 hours
  12. 12) Post-migration: Outlook, mobiles, disabling IMAP, and adoption
  13. 13) Sensible security baseline: MFA, Conditional Access, and Defender
  14. 14) Value & KPIs: how to measure IMAP migration success
  15. 15) Appendices: DNS, PowerShell, templates, risks, and checklists
  16. 16) Frequently asked questions
  17. 17) Closing: signs of a spotless IMAP migration

1) What an IMAP → Microsoft 365 migration is, and when it makes sense

Here we set the “why” behind IMAP: when it’s the right route, what expectations to align with the business, and what alternatives exist if you need advanced coexistence. The goal is to make an informed decision before touching anything.

The IMAP migration is the mechanism supported by Microsoft 365 to import mail only from almost any server that exposes IMAP: from shared hosting (cPanel/DirectAdmin) to Dovecot/Courier, or Zimbra configured for IMAP. It’s straightforward, predictable, and perfect when you don’t need calendar/resource coexistence or to move rules/delegations.

When to choose IMAP: non-Exchange sources, “mail history + continuity,” simple requirements, tight timelines, and a desire to control the pace in waves. If your priority is to preserve free/busy, delegations, and a near-identical experience the next day, consider hybrid, cutover, or staged (for Exchange) or Google’s specific flow instead of IMAP.

Decision tip: if ~80% of your expected tickets are “calendar didn’t migrate” and “rooms don’t show,” IMAP isn’t your ideal path; pick one that covers those pieces.

2) True scope and limits: what IMAP migrates, what it doesn’t, and practical values

Let’s set the perimeter: what is in scope and what stays out. Defining this prevents surprises and helps size timelines, support, and comms. We also review common limits and how to set realistic expectations.

  • Migrates: folders and messages, preserving structure and basic flags.
  • Doesn’t migrate: calendars, contacts, tasks, rules, delegations, or shared permissions. Plan these separately.
  • Practical values (indicative): IMAP handles large volumes well, but very large messages can be skipped; isolate “monster” mailboxes and set expectations. The CSV can hold thousands of rows, but it’s healthier to split into waves for support and control.

“Exact limits” can change over time; focus on strategy: homogeneous batches, off-peak windows, and avoiding the source server becoming the bottleneck.

3) Project plan & governance: pilots, waves, schedule, and roles

Without a plan, even a simple migration becomes chaotic. This block guides how to structure the project: what to test in pilot, how to slice into waves, what to communicate, and which responsibilities to assign for traceability and control.

Pilot design (10–30 mailboxes)

  • Mix sizes and profiles (power users, admin staff, sites with tight links).
  • Measure: GB/h per batch, messages/min, time to first sync, and skip rate.
  • Tune concurrency after the pilot (see the performance section).

Waves and schedule

  • Homogeneous waves: by department/region with similar size to predict durations.
  • Windows: off-peak; avoid overlapping with the source IMAP server’s backups/antivirus.
  • Communications: T-7 (what changes), T-1 (what to do on day D), T0 (link to Outlook on the web), T+7 (tips).

Governance and roles

  • Technical Lead: designs endpoints and batches, monitors, and decides cutover.
  • Support L1/L2: quick guides for Outlook, mobiles, and calendar/contact self-import.
  • Champions: key users per area for feedback and adoption.
Operational tip: define “exit criteria” per wave: minimum % migrated, acceptable skips, delivery tests, and pilot user satisfaction.

4) DNS & deliverability: MX, Autodiscover, SPF, DKIM, and DMARC without surprises

Domain reputation and Outlook autodiscovery depend on your DNS records. Before touching MX, have everything ready. Here’s how to minimize bounces, avoid spoofing warnings, and ensure Outlook configures itself.

Mail lives or dies by its reputation. Before cutover, have these ready:

  • Autodiscover: CNAME to autodiscover.outlook.com so Outlook configures itself (DNS guide).
  • MX: ultimately point to your-domain.mail.protection.outlook.com. Lower the TTL (e.g., 3600 s) two days before cutover.
  • SPF: include include:spf.protection.outlook.com in the primary TXT.
  • DKIM: create 2 CNAMEs per domain and enable it in the portal (DKIM).
  • DMARC: start with p=none (telemetry) and move to quarantine / reject once all legitimate senders are aligned (DMARC).
SaaS tip: align with Marketing/ERP if they’ll send using your domain. Either they sign DKIM and align SPF/DMARC from their platform, or they route through Exchange Online with authenticated connectors.

5) Preparing the source IMAP server (Gmail, Dovecot, Courier, cPanel, Zimbra)

The source sets the ceiling for speed and stability. Check network, auth, and limits to avoid bottlenecks and intermittent errors that burn support hours.

  • IMAP enabled (993/SSL) and certificate in good order. Avoid SSL inspection that breaks TLS.
  • Gmail/Google Workspace: enable IMAP, use 2FA and app passwords if you go via IMAP. If you need calendars/contacts, consider the native Google → Microsoft 365 flow (Google guide).
  • Admin credentials: if your IMAP supports them, you’ll avoid resetting everyone’s password and simplify the CSV.
  • Concurrent connections: review per-IP/user limits. Raise them temporarily if possible.
TLS check with openssl (quick diagnostics)
openssl s_client -connect imap.your-domain.com:993 -crlf -quiet # You should see a proper TLS negotiation and an IMAP banner

6) Mapping special folders and IMAP encodings (modified UTF-7)

An “exotic” source can break the experience on tiny details: names with diacritics, Gmail labels turning into folders, or mis-assigned special folders. Anticipate with tests and fine tuning.

IMAP uses modified UTF-7 for folder names. Some sources can produce odd accents/ñ. Test with 2–3 “problematic” mailboxes in the pilot.

  • Special folders: “Sent,” “Drafts,” “Trash,” “Archive.” In Gmail, labels appear as folders ([Gmail]/Sent Mail, etc.) and sometimes create duplicates. After migration, Outlook and Exchange Online normalize these automatically; still, review the outcome with key users.
  • Shared/virtual folders: some IMAP servers (Courier/Oracle) require UserRoot in the CSV to reach the correct mailbox.
Cleanup tip: use the migration to reduce “deep trees” and standardize names; very heavy attachments are better as content in OneDrive/SharePoint going forward.

7) CSV for IMAP: headers, admin credentials, and UserRoot

The CSV is your project’s “passenger list.” If it’s wrong, everything suffers. Here’s the proper format, server-specific variants, and security/audit tips.

Minimum CSV: EmailAddress,UserName,Password. With admin credentials, the UserName format varies by server:

  • Exchange IMAP: DOMAIN/AdminUser/UserUser
  • Dovecot (SASL): UserUser*AdminUser (asterisk is often the separator)
  • Mirapoint: #user@domain#AdminUser#
  • Courier/Oracle IMAP: add UserRoot (e.g., /users/alberta)
EmailAddress,UserName,Password
alberto@contoso.com,contoso/admin/alberto,P@ssw0rd!
maria@contoso.com,maria*imapadmin,P@ssw0rd!

Official references with variants and examples: CSV for IMAP migrations.

CSV tip: use UTF-8, avoid spaces in headers, split by waves (e.g., ≤ 2,000 users per batch), encrypt the CSV at rest/in transit, and keep a hash/signature for audit.

8) Migration Endpoint and batches (EAC/PowerShell) with full control

This is the migration “engine.” A stable endpoint and well-defined batches let you start, pause, resume, and measure without surprises. Below is a path via EAC and PowerShell to automate and audit.

In EAC (Exchange admin center)

  1. Go to Migration → Endpoints > New > IMAP.
  2. Enter the source FQDN (imap.domain.com), port 993, SSL, and an endpoint name.
  3. Create the batch, upload the CSV, enable notifications, and choose auto-start.

Official guide: Migrate IMAP mailboxes to Microsoft 365.

PowerShell (flexible and auditable)

# Connect
Install-Module ExchangeOnlineManagement -Scope CurrentUser
Connect-ExchangeOnline

# Test source IMAP connectivity
Test-MigrationServerAvailability -IMAP -RemoteServer imap.contoso.com -Port 993 -Security SSL

# Create Endpoint
New-MigrationEndpoint -IMAP -Name "IMAP-Contoso" `
  -RemoteServer imap.contoso.com -Port 993 -Security Ssl

# Tune concurrency after the pilot
Set-MigrationEndpoint -Identity "IMAP-Contoso" `
  -MaxConcurrentMigrations 40 -MaxConcurrentIncrementalSyncs 20

# Create batch from CSV (no auto-complete)
$csv = [IO.File]::ReadAllBytes("C:\IMAP\wave-01.csv")
New-MigrationBatch -Name "IMAP-Wave-01" -SourceEndpoint "IMAP-Contoso" `
  -CSVData $csv -AutoStart -AutoComplete:$false

# Tracking
Get-MigrationBatch -Identity "IMAP-Wave-01" | fl Status,State,TotalCount,CompleteCount
Get-MigrationUser -BatchId "IMAP-Wave-01" | Get-MigrationUserStatistics |
  ft Identity,ItemsSynced,SkippedItems,PercentComplete -Auto

Cmdlet docs: New-MigrationEndpoint, New-MigrationBatch, Test-MigrationServerAvailability.

9) Performance & concurrency: speed up without breaking

Real speed depends on three variables: source, network, and the migration service. Here’s a “thread-ramping” strategy, how to read the signals, and how to isolate huge mailboxes so the whole wave flows.

The migration service applies throttling and controls parallel connections. “More threads” isn’t always “faster” if your source or network is the bottleneck.

  • Off-peak windows: your batches fly and user impact drops.
  • Healthy source: don’t overlap with backups/AV. Raise per-IP/user limits if you can.
  • Gradual concurrency: start moderate (20–30), measure, and scale (40–60) if everything is smooth.
  • Separate “monster mailboxes”: give them their own wave and window.
  • Instrumentation: monitor GB/h, skips, retries, and errors by type. Export per-batch/user stats.
Network tip: do not intercept TLS (SSL break/inspect) toward the source IMAP or Microsoft 365; it creates intermittent errors that are hard to diagnose.

10) Monitoring, common errors, and skipped items

Without telemetry you’re flying blind. Here are the daily metrics to watch, how to interpret skips, and typical actions to resolve “stuck” batches or troublesome authentication.

  • Failed authentication: review the CSV (case sensitivity, domain), the port/encryption, and whether admin supports the UserName format.
  • Very large messages: you’ll see them as skipped. Inform users with “heavy” mailboxes (old policies).
  • Batches stuck in “Syncing” forever: pause, validate Endpoint/IMAP, recreate the batch if needed. Keep the logs.
  • Gmail: labels generate folders; “duplicates” can be expected. Explain that Exchange shows “folders,” not “labels.”
Export a support-friendly report
Get-MigrationUser | Get-MigrationUserStatistics |
  Select Identity,ItemsSynced,SkippedItems,PercentComplete,LastSuccessfulSyncTime |
  Export-Csv .\imap-report.csv -NoType

11) MX cutover and safe finalization: incremental sync and 72 hours

Cutover is the “moment of truth.” Here’s a safe pattern to avoid loss: how to lower TTL, when to switch MX, how long to keep incremental sync, and what to verify before closing the batch.

With batches at 100% and a green delivery pilot, switch MX to Microsoft 365. With low TTL, convergence is quick, but wait ≈72 hours before removing the batch: ensure no more messages land on the source and that incremental sync has run at least once more.

Verification tip: check headers of a fresh email; it should show a hop through *.mail.protection.outlook.com. Validate SPF/DKIM/DMARC with tools like Mail-Tester.

12) Post-migration: Outlook, mobiles, disabling IMAP, and adoption

After cutover, the priority is keeping users productive. Prepare “first-run” actions, handle common profile issues, and push modern habits so value lands quickly.

  • Outlook/OWA: Autodiscover configures profiles. If a profile “inherits” oddities, recreate it and clean add-ins.
  • Mobiles: use “Exchange/Outlook” accounts on iOS/Android (not IMAP) for full calendar/contacts.
  • Disable IMAP: turn it off wherever it no longer adds value (source and Microsoft 365) to reduce attack surface.
  • Adoption: three habits: share via link (OneDrive/SharePoint) instead of attachments, use @mentions and co-authoring, and Outlook mobile with modern auth.

13) Sensible security baseline: MFA, Conditional Access, and Defender

Migrating without strengthening identity and email leaves doors open. Here’s a “baseline” for SMBs and enterprises to balance friction and protection.

Enable MFA (and self-service password reset if applicable), design Conditional Access (block legacy protocols where unnecessary; require compliant device by risk), and protect deliverability with SPF + DKIM + DMARC. If your risk profile demands it, add Defender for Office 365 (Safe Links/Safe Attachments).

Reference docs: MFA · Conditional Access · Defender for Office 365.

14) Value & KPIs: how to measure IMAP migration success

If you don’t measure, you can’t improve. These metrics blend tech and business so you can prove impact and spot where to tune.

  • Time to “first value”: how long it takes users to send/receive and access their history without tickets.
  • Frictionless delivery: post-cutover bounce rate, SPF/DKIM/DMARC score, spam complaints.
  • Support: tickets per 100 users at T0/T+7/T+30 and mean time to resolution.
  • Adoption: % of emails with OneDrive/SharePoint links vs attachments, Outlook mobile usage, co-authoring.
  • Hygiene: IMAP disabled, SaaS aligned with DKIM/DMARC, CSV and evidence signed.

15) Appendices: DNS, PowerShell, templates, risks, and checklists

Close the loop with practical artifacts to execute and audit: DNS templates, scripts, comms, and control lists we use in real projects.

A) DNS (copy-paste ready)

# MX (after cutover)
@ MX 0 your-domain.mail.protection.outlook.com.

# SPF (a single TXT per domain)
@ TXT v=spf1 include:spf.protection.outlook.com -all

# DKIM (2 CNAMEs; selectors appear in the portal)
selector1._domainkey CNAME selector1-your-domain-com._domainkey.yourorg.onmicrosoft.com
selector2._domainkey CNAME selector2-your-domain-com._domainkey.yourorg.onmicrosoft.com

# DMARC (progressive)
_dmarc TXT v=DMARC1; p=none; rua=mailto:dmarc@your-domain.com

# Then:
_dmarc TXT v=DMARC1; p=quarantine; rua=mailto:dmarc@your-domain.com

# Final:
_dmarc TXT v=DMARC1; p=reject; rua=mailto:dmarc@your-domain.com

References: DNS · DKIM · DMARC.

B) PowerShell (end-to-end reproducible)

# Connect
Install-Module ExchangeOnlineManagement -Scope CurrentUser
Connect-ExchangeOnline

# Endpoint
Test-MigrationServerAvailability -IMAP -RemoteServer imap.source.com -Port 993 -Security SSL
New-MigrationEndpoint -IMAP -Name "IMAP-Source" -RemoteServer imap.source.com -Port 993 -Security Ssl
Set-MigrationEndpoint -Identity "IMAP-Source" -MaxConcurrentMigrations 30 -MaxConcurrentIncrementalSyncs 15

# Batch
$csv = [IO.File]::ReadAllBytes("C:\IMAP\batch1.csv")
New-MigrationBatch -Name "IMAP-Batch-1" -SourceEndpoint "IMAP-Source" -CSVData $csv -AutoStart -AutoComplete:$false

# Tracking & report
Get-MigrationBatch -Identity "IMAP-Batch-1"
Get-MigrationUser -BatchId "IMAP-Batch-1" | Get-MigrationUserStatistics |
  Select Identity,ItemsSynced,SkippedItems,PercentComplete |
  Export-Csv .\imap-batch1-report.csv -NoType

Cmdlets: New-MigrationEndpoint · New-MigrationBatch · Test-MigrationServerAvailability.

C) End-user communications (3-line templates)

T-5 days

Subject: Microsoft 365 migration — next steps
Message: On the change day you’ll sign in with MFA. Your address won’t change. Your mail and folders will be migrated; calendars/contacts will be imported with help if needed.

Day D

Subject: You can now use your email in Microsoft 365
Message: Go to outlook.office.com or open Outlook. If something’s missing, wait for sync to finish. Support is available in the Teams channel or the walk-up desk.

T+7 days

Subject: Make the most of Microsoft 365 — 3 quick wins
Message: Share via links (OneDrive/SharePoint), use @mentions and co-authoring, and try Outlook mobile with modern sign-in.

D) Common risks and mitigation

  • Poor post-cutover deliverability: SPF/DKIM/DMARC not aligned → Mitigation: prep DNS and validate with tools before day D.
  • Very slow IMAP: per-IP/user limits → Mitigation: raise limits or lower concurrency; schedule off-peak.
  • Users missing calendars/contacts: expectations not aligned → Mitigation: a mini guide for import and targeted assistance for critical groups.
  • Stuck batches: mis-defined endpoint or CSV errors → Mitigation: test endpoint, add CSV validations, recreate batch.

E) Express checklist

  • IMAP reachable (993/SSL), no in-path TLS inspection.
  • CSV validated (correct headers, credentials, split into waves).
  • Domain verified; Autodiscover/SPF ready; MX TTL reduced.
  • Endpoint tested with Test-MigrationServerAvailability.
  • Support ready (1-pager guides + Teams channel).

16) Frequently asked questions

We’ve collected the questions that repeat most often. Use them to align expectations and cut repetitive tickets.

Does IMAP migrate calendars, contacts, and tasks?

No. IMAP brings mail only. Use export/import (ICS/CSV), Outlook assistants, or source-specific flows (e.g., Google Workspace) for calendars/contacts.

What about very large messages or attachments?

Messages exceeding what the IMAP process accepts are skipped and appear as skipped. Inform users with “heavy” mailboxes in advance.

Can I speed up by increasing concurrency?

Yes, but do it after the pilot. Increase gradually and monitor the source; more connections don’t always reduce total time.

Which DNS records do I need so Outlook works and mail delivers well?

Autodiscover (CNAME to autodiscover.outlook.com), MX to Microsoft 365, SPF with include:spf.protection.outlook.com, and after cutover enable DKIM and move DMARC from none → quarantine → reject.

Is Google Workspace better via IMAP or its native flow?

For “mail only,” IMAP works. If you also need calendars/contacts, use Microsoft’s documented Google-specific flow.

When do I delete the batch?

When MX already points to Microsoft 365, no mail lands on the source, and ~72 hours have passed with at least one additional incremental sync.

17) Closing: signs of a spotless IMAP migration

With all of the above, you’ll judge success not by gigabytes moved but by user experience and operational sustainability. This is the mental checklist to say: we delivered an excellent migration.

A good project isn’t measured in gigabytes moved, but in frictionless delivery, self-configuring profiles, clean reports, and low support load after day D. If you also disable IMAP where it no longer adds value, align SPF/DKIM/DMARC, and promote modern habits (fewer attachments, more links), you’ll have turned a technical move into a real operational improvement for your company.

Want an IMAP migration with guarantees?

We design waves, automate endpoints and batches, and accompany MX cutover with metrics, validations, and field support.

Contact MSAdvance IMAP → Microsoft 365 migration

IMAP → Microsoft 365 Migration (2025): complete strategy — CSV, Endpoint, DNS, performance, security, and adoption
Share
55

Related posts

October 22, 2025

Microsoft Entra ID (Azure AD) Migration 2025: Complete Guide and Zero Trust Strategy


Read more
October 18, 2025

Why Companies Migrate from Google Workspace to Microsoft 365


Read more
October 3, 2025

Migrate from Microsoft 365 to Google Workspace with GWMME


Read more
Qué es un inquilino de Microsoft 365 y cómo migrarlo What Is a Microsoft 365 Tenant and How to Migrate It
September 15, 2025

What Is a Microsoft 365 Tenant and How to Migrate It Step by Step?


Read more

Do you have an idea, a challenge, or a specific business need?

Speak with our experts about your next big project

This is only a glimpse of what we can do. Whatever you have in mind—no matter how unique or complex—we are ready to turn it into reality.

info@msadvance.com

Contact Us

Services

About Us

Blog

Cookies Policy

Privacy Statement

Legal Notice / Imprint

© 2025 MSAdvance | All rights reserved worldwide

MSAdvance
Gestionar consentimiento
Para ofrecer las mejores experiencias, utilizamos tecnologías como las cookies para almacenar y/o acceder a la información del dispositivo. El consentimiento de estas tecnologías nos permitirá procesar datos como el comportamiento de navegación o las identificaciones únicas en este sitio. No consentir o retirar el consentimiento, puede afectar negativamente a ciertas características y funciones.
Funcional Always active
El almacenamiento o acceso técnico es estrictamente necesario para el propósito legítimo de permitir el uso de un servicio específico explícitamente solicitado por el abonado o usuario, o con el único propósito de llevar a cabo la transmisión de una comunicación a través de una red de comunicaciones electrónicas.
Preferencias
El almacenamiento o acceso técnico es necesario para la finalidad legítima de almacenar preferencias no solicitadas por el abonado o usuario.
Estadísticas
El almacenamiento o acceso técnico que es utilizado exclusivamente con fines estadísticos. El almacenamiento o acceso técnico que se utiliza exclusivamente con fines estadísticos anónimos. Sin un requerimiento, el cumplimiento voluntario por parte de tu proveedor de servicios de Internet, o los registros adicionales de un tercero, la información almacenada o recuperada sólo para este propósito no se puede utilizar para identificarte.
Marketing
El almacenamiento o acceso técnico es necesario para crear perfiles de usuario para enviar publicidad, o para rastrear al usuario en una web o en varias web con fines de marketing similares.
Manage options Manage services Manage {vendor_count} vendors Read more about these purposes
Ver preferencias
{title} {title} {title}