TN3191: IMAP extensions supported by Mail for iOS, iPadOS, and visionOS
Learn which extensions to the RFC 3501 IMAP protocol are supported by Mail for iOS, iPadOS, and visionOS.
Overview
The IMAP protocol defined in RFC 3501 (IMAP4rev1) is one of the protocols used by Mail for iOS, iPadOS, and visionOS to connect to email servers.
To improve efficiency and performance for both the Mail app and email servers, the Mail app supports various extensions to the IMAP protocol. This document is intended for IMAP email server implementers to guide decisions on which extensions to support. For example, the CONDSTORE, IDLE, and ESEARCH extensions are especially important for efficient synchronization.
Details
Below are the IMAP extensions that Mail for iOS, iPadOS, and visionOS uses, with descriptions of their implementation.
RFC | Capability / Name | Description |
|---|---|---|
Pipelining | The Mail app uses pipelining to enqueue multiple IMAP commands with the server. Commands can be completed out-of-order and responses can be sent interleaved. | |
| The Mail app upgrades plaintext connections using | |
Authentication | The Mail app uses either | |
| The Mail app has to do fewer round trips during SASL authentication when the server supports | |
| The Mail app supports both mailbox-specific and global append limits. If the server announces a corresponding | |
| If the server announces the | |
| The Mail app uses | |
| This reduces data size of responses when the Mail app sends | |
| When the server supports this capability, the Mail app identifies itself to the server, and it allows the server to identify itself to the Mail app. | |
| Enables efficient server updates for the currently selected mailbox. The Mail app applies these updates directly, often avoiding the need to re-sync the mailbox and allowing users to see updates almost immediately. If the server does not support | |
| The Mail app will use this to retrieve status as part of running the | |
| The Mail app supports both extensions to reduce required round-trips. | |
| The Mail app will use this to efficiently move messages between mailboxes. This notably improves message deletion, as messages are generally moved to Trash when the user deletes them. | |
| The Mail app honors | |
| The Mail app will use UIDs returned as part of | |
|
| |
| When performing server-side search initiated by the user searching for messages, the Mail app will use Rfc9394 to limit the number of results requested if the server announced | |
| The Mail app operates on roughly equally sized batches of messages for many operations. If the server supports | |
| As noted under |
Revision History
2025-08-27 First published.
See Also
Latest
TN3205: Low-latency communication with RDMA over ThunderboltTN3206: Updating Apple Pay certificatesTN3179: Understanding local network privacyTN3190: USB audio device design considerationsTN3194: Handling account deletions and revoking tokens for Sign in with AppleTN3193: Managing the on-device foundation model’s context windowTN3115: Bluetooth State Restoration app relaunch rulesTN3192: Migrating your iPad app from the deprecated UIRequiresFullScreen keyTN3151: Choosing the right networking APITN3111: iOS Wi-Fi API overviewTN3134: Network Extension provider deploymentTN3189: Managing Mail background traffic loadTN3187: Migrating to the UIKit scene-based life cycleTN3188: Troubleshooting In-App Purchases availability in the App StoreTN3186: Troubleshooting In-App Purchases availability in the sandbox