Migrate

Migrate iCloud Mail to Yahoo: IMAP Transfer Guide

Move iCloud Mail to Yahoo over IMAP with Apple app-specific passwords, Yahoo's quirks, and folder mapping that actually survives the trip.

DO

Dan Okafor

MSP Practice Lead

· 9 min read
Hands typing on a laptop keyboard

Yahoo's free tier hands you a terabyte of mail storage, which makes it a sensible landing spot for an iCloud archive that's bumping up against the 5GB free quota. The catch is that both ends of this transfer need app passwords, both sides throttle IMAP differently, and Yahoo's folder naming conventions diverge enough from iCloud's that a careless transfer ends up with duplicate Sent and Trash folders. This guide walks the working path, with the rate limits and folder-mapping details that matter at 2am.

iCloud
Yahoo Mail

Skip the manual setup — let Mailbox Taxi handle it

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

Why this is straightforward but particular

iCloud Mail and Yahoo Mail both speak IMAP, both run on stable, well-known endpoints, and neither charges you for the act of importing. That's the good news. The less good news: each side has a specific authentication shape, each has different throttle behaviour, and Yahoo's IMAP server is fussy about how it interprets APPEND operations on its system folders.

Skip a step here and you'll end up with one of the standard outcomes: messages duplicated across folders, sent items split between iCloud's Sent Messages and Yahoo's Sent, or — most commonly — a transfer that runs for an hour and then dies with LIMIT_EXCEEDED because Yahoo decided you were a botnet.

Pre-flight: what you need

Have these ready before you launch the transfer:

  • iCloud Mail enabled on your Apple ID, with 2FA on
  • Apple ID app-specific password generated and saved
  • Active Yahoo account with 2FA enabled (Yahoo calls this Two-Step Verification)
  • Yahoo app password generated and saved
  • Estimate of iCloud mailbox size — find it at iCloud.com, Account Settings, Mail
  • A laptop or desktop that won't sleep mid-transfer

Yahoo aggressively rate-limits new connections

If you've never accessed your Yahoo account via IMAP before, the first few hours can see throttling that looks like an outright connection refusal. Persistent, low-concurrency retries get through. Don't open four parallel connections from a fresh source — Yahoo will treat it as suspicious activity and block the source IP for hours.

Step 1: Enable Yahoo IMAP and generate an app password

Yahoo allows IMAP access by default, but the app-password machinery only appears once Two-Step Verification is on.

  1. Sign in to Yahoo Mail
  2. Click your initial in the top-right corner and choose Account Info
  3. Open Account Security
  4. Enable Two-Step Verification if it's not already on; complete the phone or authenticator setup
  5. Once 2SV is on, the App Password section appears — click Generate
  6. Label it Mailbox Taxi migration
  7. Copy the 16-character password

Older Yahoo accounts inherited from AT&T, SBC, or BellSouth (addresses ending in @att.net, @sbcglobal.net, @bellsouth.net, and similar) follow the same flow — Yahoo runs the mail backend for those addresses too.

Step 2: Generate an Apple ID app-specific password

iCloud's IMAP listener won't take your Apple ID password directly; it requires an app-specific password.

  1. Sign in at appleid.apple.com
  2. Open Sign-In and Security
  3. Click App-Specific Passwords (this only appears if 2FA is on)
  4. Click the plus, name it Mailbox Taxi migration, confirm your Apple ID password
  5. Copy the generated password — format is abcd-efgh-ijkl-mnop

The app-specific password reference has more on why both providers require these and how to revoke them cleanly when you're done.

Step 3: Connection details

Source (iCloud):

  • Server: imap.mail.me.com
  • Port: 993
  • SSL/TLS: yes
  • Username: your full Apple ID email address
  • Password: the Apple ID app-specific password

Destination (Yahoo):

  • Server: imap.mail.yahoo.com
  • Port: 993
  • SSL/TLS: yes
  • Username: your full Yahoo email address
  • Password: the Yahoo app password

Test these in a desktop mail client first. If iCloud authenticates and lists folders, you're good. If Yahoo accepts the connection and lists folders, you're good.

Step 4: Map the system folders explicitly

This is where most iCloud to Yahoo migrations create the duplicate-folder mess. iCloud uses these system folder names:

  • INBOX
  • Sent Messages
  • Drafts
  • Deleted Messages
  • Junk
  • Archive

Yahoo uses:

  • Inbox
  • Sent
  • Draft
  • Trash
  • Bulk (this is Yahoo's spam folder)

Without explicit mapping, your migration tool will create a new Sent Messages folder in Yahoo alongside Yahoo's existing Sent, and your sent items end up split. In Mailbox Taxi's folder mapping screen:

  • iCloud INBOX → Yahoo Inbox
  • iCloud Sent Messages → Yahoo Sent
  • iCloud Drafts → Yahoo Draft
  • iCloud Deleted Messages → Yahoo Trash
  • iCloud Junk → Yahoo Bulk
  • iCloud Archive → create as Archive (Yahoo has no native Archive)

Any user-created folders carry their names as-is. Yahoo allows the standard set of characters in folder names; if you've used a / literal in an iCloud folder name (Receipts/2024), rename it in iCloud to use a dash or underscore before transfer, because Yahoo will interpret the slash as a hierarchy separator.

Step 5: Run a pilot folder

Pick one static folder with 200 to 500 messages. Sent Messages is a good pilot — it doesn't churn during the transfer and exercises most metadata fields.

On completion of the pilot, verify:

  • Final count matches between iCloud and Yahoo
  • Sort order in Yahoo matches iCloud (this confirms INTERNALDATE is preserved)
  • Read/unread flags are correct in Yahoo
  • Open three random messages and confirm content and attachments
  • No Folder UTF-7 conversion error in the run log

If anything looks off on the pilot, fix it before queuing the rest of the mailbox.

Step 6: Full transfer

Concurrency settings for this pair:

  • Source (iCloud): 1 connection. Anything higher and you'll see Apple back off.
  • Destination (Yahoo): 2 connections. Yahoo handles parallel append reasonably but its IMAP server will close idle connections aggressively.

Throughput on this pair: 200 to 500MB per hour. The iCloud side is the bottleneck.

  • 5GB iCloud archive: 1 to 2.5 hours
  • 15GB archive: 3 to 7 hours
  • 50GB archive: 10 to 20 hours — schedule overnight

Keep the laptop plugged in. Disable display sleep. Don't close the lid. If the IMAP session drops on either side, the run resumes from the last completed batch, but interruptions add 5 to 10 minutes of retry overhead each time.

iCloud sometimes pauses for minutes at a time

iCloud's IMAP server isn't optimised for migration-style fetch. You'll see periods where the throughput drops to near zero for two or three minutes, then resumes. That's normal — Apple's throttling, not Mailbox Taxi stuck. If the pause goes past 10 minutes, restart the run; it resumes cleanly.

Step 7: Verify and reconcile

Once the run completes:

  1. Compare folder counts side by side. Yahoo should match iCloud within a few messages per folder.
  2. Spot-check by date — open Yahoo and confirm messages from 2017, 2019, and 2023 all opened correctly.
  3. Open a random message with attachments from Yahoo Mail web (not the desktop client; the desktop client caches and can mask a problem).
  4. Confirm no system folder was duplicated.

If a count is off by more than 5 to 10 messages per folder, run a delta sync — Mailbox Taxi will re-attempt only the messages whose Message-ID doesn't exist on the destination.

Step 8: Set up forwarding (optional)

If you want new iCloud mail to keep arriving at your Yahoo inbox, set up forwarding from iCloud:

  1. Open iCloud.com, Mail, Settings (gear icon)
  2. Forwarding tab
  3. Forward my email to: your Yahoo address
  4. Decide whether to keep a copy in iCloud or delete after forwarding (keeping a copy is safer for the first 30 days)
  5. Save

You can also do the reverse — set up Yahoo to fetch from iCloud — but iCloud's IMAP throttling makes the forwarding route more reliable.

Common failures and what they mean

AUTHENTICATIONFAILED on iCloud means the Apple ID password was used instead of the app-specific password. Generate a new app-specific password and retry.

AUTHENTICATIONFAILED on Yahoo means either the wrong app password (Yahoo passwords are 16 characters, no spaces, lowercase only) or 2SV isn't fully enabled yet. Wait 5 minutes after enabling 2SV before generating the app password.

LIMIT_EXCEEDED on Yahoo means you've hit the connection rate limit. Drop concurrency to 1 on each side, wait 15 minutes, restart.

Too many simultaneous connections on iCloud means iCloud's connection ceiling is reached. Drop iCloud-side concurrency to 1.

STARTTLS handshake failed on either side usually points at outbound firewall TLS inspection. Move off corporate Wi-Fi if you're on one.

After the migration

  • Revoke the Apple ID app-specific password once verified clean
  • Revoke the Yahoo app password too — both are revocable from the respective account security pages
  • Update any service still mailing your iCloud address with your Yahoo address, or rely on the forwarding rule
  • Don't disable iCloud Mail for at least 90 days; recovery contacts and old services may still mail it

If Yahoo turns out to be a stepping stone rather than the destination, our walkthroughs for moving Yahoo to iCloud, iCloud to Gmail, and Gmail to Yahoo cover those routes. For the wider operational view, the complete email migration guide maps DNS, MX, and testing across any provider pair.

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.