
iCloud Mail works with any IMAP and SMTP client. The two things that trip up almost every setup are the username format — it differs between the incoming and outgoing servers — and the requirement for an app-specific password rather than your Apple Account password. Get those right and the connection is straightforward.
Use this table as your single reference point. Settings come from Apple's official iCloud Mail setup guide (support.apple.com/102525).
| IMAP (incoming) | SMTP (outgoing) | |
|---|---|---|
| Server | imap.mail.me.com | smtp.mail.me.com |
| Port | 993 | 587 |
| Security | SSL / TLS | SSL / TLS (STARTTLS on port 587) |
| Username | Bare mail name, no domain (e.g. johnappleseed) | Full email address (e.g. johnappleseed@icloud.com) |
| Password | App-specific password | Same app-specific password |
| Authentication | Required | Required |
POP is not supported. iCloud Mail only exposes IMAP for incoming mail.
Work through this before opening your client settings.
imap.mail.me.com, port 993, SSL/TLS on, username = bare namesmtp.mail.me.com, port 587, SSL/TLS on (STARTTLS mechanism), username = full addressTwo-factor authentication. Apple requires 2FA to be active on your Apple Account before you can generate an app-specific password. If 2FA is off, enable it at account.apple.com under Sign-In and Security.
An active iCloud Mail address. iCloud Mail is not on by default for every Apple Account. If you have never used it, enable iCloud Mail in System Settings (macOS) or Settings → iCloud (iOS/iPadOS). Apple assigns an @icloud.com address at activation.
App-specific password. iCloud Mail does not accept your Apple Account password directly in third-party clients. You need an app-specific password — a separate reusable token generated at account.apple.com. The next section shows how.
App-specific passwords are created and managed at account.apple.com. The steps below follow Apple's documentation (support.apple.com/102654).
Thunderbird or My mail app — and click Create.An Apple Account can hold up to 25 active app-specific passwords. App-specific passwords are reusable credentials — the same password continues to work until you revoke it or change your Apple Account password. Revoke unused passwords from the same App-Specific Passwords screen at account.apple.com.
Open your email client's account or server settings and enter the following for incoming mail.
imap.mail.me.com993johnappleseed, not johnappleseed@icloud.comThe username format is the most common source of IMAP authentication errors. Some clients pre-fill the username from the email address you enter; if yours does, delete the @icloud.com part before saving. If the bare name fails to authenticate in a particular client, try the full email address (e.g. johnappleseed@icloud.com) as a fallback, as Apple's documentation notes both forms.
After saving, your client should fetch the IMAP folder list. iCloud Mail exposes standard folders — Inbox, Sent, Drafts, Trash, Archive — plus any mailboxes you have created.
For outgoing mail the username format flips: use the full email address, not the bare name.
smtp.mail.me.com587johnappleseed@icloud.comIf your client asks whether to authenticate the SMTP server, say yes. iCloud's outgoing server requires authentication and rejects unauthenticated submissions.
Send a test message after saving SMTP settings to confirm delivery before relying on the connection.
Apple offers a newer authorization flow for supported third-party apps accessing iCloud Mail, Calendar, and Contacts (support.apple.com/121539). Instead of generating a static app-specific password, the user approves the app through a consent screen and Apple manages a revocable authorization for that app. The app never sees the Apple Account password.
This is similar in concept to OAuth: the authorization is visible and revocable at account.apple.com. Removing it immediately cuts off that app's access without affecting other connected apps. To revoke, go to account.apple.com → Sign-In and Security → Account Data Sharing, then remove the app.
When to use each option:
IMAP and SMTP are Apple-supported protocols that your application can use directly with the settings above. For applications that need programmatic access to other Apple services — iMessage, or read access to Contacts, Calendar, and Reminders — Figment Apple Connect provides a user-approved OAuth-style consent layer. Your app receives a scoped access token; the developer application never receives the Apple Account password.
For a full overview of available scopes and the authorization flow, see OAuth for iCloud: Connect Apple Data to Your App.
Ready to build? Visit Connect Apple Account to register your app and explore the developer sandbox.