Migrate

How to Migrate iCloud Mail to Outlook

Move iCloud Mail to Outlook.com or Microsoft 365 with the right path for consumer vs corporate destinations, app passwords, and no surprise data loss.

DO

Dan Okafor

MSP Practice Lead

· 12 min read
Laptop on a desk preparing an iCloud Mail to Outlook migration

The word "Outlook" hides two completely different products. Outlook.com is Microsoft's free consumer mail service with a built-in webmail UI. Microsoft 365 is the paid tenant service with Exchange Online underneath. Migrating iCloud Mail into either is mostly an IMAP move, but the operational path is different and choosing the wrong one wastes a weekend. This guide walks both paths, starting from a clean iCloud source and ending with mail flowing into the right Outlook destination, with the app-password, throttling, and cutover details that catch teams out the first time.

iCloud
Outlook

Confirm which Outlook you are migrating to

This is the single most important decision in the whole project. Get it wrong and you spend an hour building infrastructure you cannot use.

You are migrating to Outlook.com (consumer)

  • The destination address ends in @outlook.com, @hotmail.com, @live.com, or a similar Microsoft consumer suffix.
  • You sign in to outlook.live.com to read mail.
  • There is no admin center, no tenant, no licensing.
  • Plan path: add iCloud as a second IMAP account inside the Outlook desktop client and move mail between folders, or use Outlook on the web's import option where available.

You are migrating to Microsoft 365 (corporate)

  • The destination address ends in your own domain (@yourcompany.com).
  • You sign in to admin.microsoft.com as a tenant administrator.
  • The mailbox lives in Exchange Online and you have a license assigned per user.
  • Plan path: an EAC IMAP migration batch from iCloud's IMAP server, identical in shape to any other IMAP-to-Microsoft-365 move.

If you are not certain which path applies, ask the user where they go to read mail today. The URL gives it away.

Skip the manual setup — let Mailbox Taxi handle it

One desktop app, every IMAP provider, zero data leaving your machine.

What you need before you start

Some prerequisites apply to both paths. The destination-specific items split into the two camps below.

Both paths

  • The Apple ID has two-factor authentication enabled. Without 2FA, app-specific passwords cannot be generated.
  • You have an app-specific password from appleid.apple.com. The regular Apple ID password will not authenticate from a non-Apple client.
  • You know the canonical iCloud Mail address. Use the @icloud.com form even if the user normally sees mail arrive at @me.com or @mac.com.
  • Calendar and contact data has been exported separately — IMAP does not move it. The complete email migration guide explains the export side.

Outlook.com (consumer) prerequisites

  • The destination Outlook.com account exists and you have the password.
  • You have a recent Outlook desktop client (Outlook for Windows or Outlook for Mac) installed on the machine doing the migration.
  • The destination has enough storage. Outlook.com free accounts get 15 GB; Microsoft 365 Personal subscribers get 50 GB.

Microsoft 365 (corporate) prerequisites

  • Your domain is verified in Microsoft 365 and DNS ownership confirmed.
  • Each target user has a license that includes Exchange Online.
  • Mailboxes exist in Exchange Online with the correct primary SMTP address.
  • You are signed in as a Global Administrator or have the Recipient Management role.

Why iCloud to Outlook trips people up

Even with the right path chosen, four things tend to bite teams who have not done this migration before.

  • App-specific passwords are not visible if 2FA is off. Apple hides the option entirely. Users who skipped 2FA have to turn it on before you can begin.
  • Aliases on the iCloud side do not transfer. A mailbox served by @icloud.com, @me.com, and @mac.com aliases moves the mail itself, but only the messages — the aliases stay on Apple's side.
  • Outlook auto account setup probes incorrectly. When you add an iCloud account to Outlook desktop, the auto-discover step sometimes guesses Office 365 and fails. You have to fall through to manual IMAP setup.
  • EAC batches do not move calendar items. iCloud Calendar uses CalDAV and does not appear on the IMAP store. Customers expect their reminders to come across; tell them in advance that they will not.

A counterpart in the other direction is the Gmail to iCloud move, which surfaces the same Apple-side quirks from the opposite angle.

Step-by-step migration

The first two steps apply to both destinations. After that, follow the path matching your destination.

  1. Confirm which Outlook you mean

    Look at the destination address. @outlook.com, @hotmail.com, and similar consumer suffixes mean Outlook.com. Custom domains administered through admin.microsoft.com mean Microsoft 365. If the user manages a personal address and a work address on the same machine, treat them as two separate runs — do not mix consumer and corporate flows in the same session.

  2. Generate an app-specific password

    Sign in to appleid.apple.com using the source Apple ID. Open Sign-In and Security, then App-Specific Passwords, then Generate Password. Label it outlook-migration or similar so it is easy to revoke later. Apple returns a 16-character string with hyphens — copy the entire string and store it securely. The app password reference covers why this step is mandatory.

  3. For Outlook.com — add iCloud to Outlook desktop

    Open Outlook on the desktop and add a new account. Enter the iCloud address. If auto-discover offers an Office 365 sign-in, cancel and choose Advanced Setup, then IMAP. Enter the incoming server as imap.mail.me.com on port 993 with SSL, the outgoing server as smtp.mail.me.com on port 587 with STARTTLS, and the password as the app-specific password including the hyphens. Once Outlook syncs the iCloud account, drag folders from the iCloud profile to the Outlook.com profile. For very large mailboxes, do this in chunks of a few hundred messages at a time to avoid Outlook stalling on a single huge transaction.

  4. For Microsoft 365 — prepare the tenant

    Confirm the domain is verified in Microsoft 365. Assign licenses to every destination user and verify mailboxes exist in Exchange Online with the correct primary SMTP address. Lower the MX record TTL for the destination domain to 300 seconds at least 24 hours before any planned cutover. If you have multiple users to move, decide whether the migration will keep the iCloud address as a secondary alias on the M365 mailbox or simply drop it.

  5. For Microsoft 365 — create the IMAP migration endpoint

    In the Exchange admin center, browse to Migration, then Endpoints, then New. Choose IMAP. Set the IMAP server to imap.mail.me.com, port 993, security SSL. Set the maximum concurrent migrations to a conservative value — start at 5 and only raise it after the pilot runs cleanly. Save the endpoint and confirm the test connection succeeds. The general endpoint behaviour is identical to the IMAP to Office 365 path, which is worth scanning if you want more detail on the EAC side.

  6. Build the CSV manifest and run a pilot batch

    For Microsoft 365 destinations, create a CSV with three columns: EmailAddress (the destination), UserName (the full iCloud address), and Password (the app-specific password). Save it as UTF-8. Create a new migration batch in EAC, attach the CSV, and include a single pilot mailbox to start with. Let the batch reach Synced. Open the destination mailbox in Outlook on the web and verify folder counts, Sent Items mapping, and attachment integrity before scaling up.

    For Outlook.com destinations, the "pilot" is a single account move. Drag one folder across, verify it in Outlook.com webmail, and then continue.

  7. Scale to the rest of the mailboxes

    For Microsoft 365, split the remaining mailboxes into batches of 20 to 50 and stagger start times by 30 to 60 minutes. Monitor for Too many simultaneous connections — iCloud does not publish a hard limit but does throttle. Drop concurrency on the endpoint if you see retries piling up. Let incremental syncs run on each batch until the cutover. For Outlook.com, repeat the drag-and-drop pattern across each remaining folder.

  8. Switch inbound mail and decommission

    For both paths, configure iCloud Mail forwarding so new mail lands on the Outlook destination. In iCloud.com, open Mail Preferences, set the forwarding address, and tick the option to delete forwarded mail from iCloud so quota does not fill. For Microsoft 365 destinations, cut over MX records if the iCloud address shares your domain; otherwise leave iCloud forwarding in place indefinitely. Revoke the app-specific password at appleid.apple.com once you are confident the move is complete. Archive the migration report.

iCloud-specific gotchas

These come up regardless of which Outlook flavour you are heading to.

The 5 GB shared quota

iCloud's free tier shares 5 GB across mail, photos, and device backups. A user with a full iCloud Photo Library may have effectively no historical mail because iCloud quietly stopped delivering. Check with the user whether they have had a "storage full" notification recently. If so, expect the source to be smaller than they think.

Outlook desktop's auto-discover misfire

When you type an @icloud.com address into Outlook's auto account setup, the dialog sometimes routes the connection through Microsoft's account discovery service and offers an Office 365 sign-in screen instead of an IMAP setup. Cancel the auto path and use Advanced Setup with manual IMAP entries.

EAC throttling messages

Too many simultaneous connections from Apple is informational — Exchange Online retries the failed item on its own schedule. Reduce concurrency on the endpoint if you see the same items failing twice in a row.

Calendar and contacts

Repeat this in your kickoff and your closing email: IMAP migrations move mail and only mail. iCloud Calendar exports as ICS via iCloud.com's Calendar app (open a calendar, choose Calendar Sharing, then Export). iCloud Contacts export as vCard via iCloud.com's Contacts app. Import both into Outlook separately.

Tell users calendar and contacts will not move

The single most common ticket after an iCloud to Outlook migration is "where are my events". Pre-empt it by exporting and importing calendar and contact data as part of the same project — not as a follow-up.

Errors you will actually see

  • AUTHENTICATIONFAILED — the app-specific password is wrong, or the username is an @me.com form when it should be @icloud.com. Regenerate the password and use the canonical address.
  • STARTTLS handshake failed — you configured the endpoint on port 143 with STARTTLS instead of port 993 with implicit SSL. Apple's IMAP server expects port 993 SSL.
  • Folder UTF-7 conversion error — a folder name contains characters the legacy IMAP encoding cannot handle. Rename the folder in iCloud and rerun.
  • Message too large for destination — Outlook.com accepts up to 20 MB attachments and Microsoft 365 accepts up to 150 MB by default. iCloud can hold larger inbound messages, so occasional skips happen.
  • Too many simultaneous connections — Apple throttled the migration. Drop concurrency and retry.

Communication plan for the end user

For an Outlook.com move, the user is usually also the IT admin and a short checklist is enough. For a Microsoft 365 move, more deliberate communication is needed.

  • Confirm the cutover date and what changes for the user. The Outlook address they will use, whether the iCloud address still works, and how long iCloud forwarding will stay on.
  • Tell them in advance that calendar and contacts move separately.
  • Walk them through adding the Outlook account to their phone and removing the iCloud account from the Mail app (or leaving both, if they prefer).
  • Send a follow-up two days after cutover asking what looks wrong. Catching a missing folder in week one is cheap; in month two it is not.

When to use Mailbox Taxi instead

EAC IMAP migrations work well for tenant-scale Microsoft 365 destinations. Outlook desktop drag-and-drop works for single Outlook.com moves. They both struggle when the source is a personal Apple ID with quirky aliases or when the IT admin and the end user are the same person. Mailbox Taxi runs locally, keeps the Apple credential on the user's own machine, and handles the iCloud IMAP source with a single wizard regardless of whether the destination is Outlook.com or Microsoft 365.

Try Mailbox Taxi

Migrate your mailbox the easy way

Join the waitlist for early access and lock in launch pricing.

Related reading

Try Mailbox Taxi

Migrate your mailbox the easy way

Join the waitlist for early access and lock in launch pricing.