Internet Mail Access Protocol
IMAP provides clients with a long-running protocol for accessing potentially large mailboxes with complex messages efficiently.
IPL Support
The IPL provides a highly efficient, online access client library. It supports the following capability string prefixes:
- IMAP4rev1? - The IPL can in principle cope without IMAP4rev1, but many requests will be silently dropped.
- AUTH - SASL authentication via IPL's in-built SASL support, automatically negotiated to the strongest authentication method mutually supported.
- LOGINDISABLED - IPL handles the case where plaintext logins are disabled.
- STARTTLS - IPL automatically negotiates TLS, including anonymous DH, where possible. IPL currently ignores certificate validation, although it provides access to the certificate digest for applications to detect changes.
- MULTIAPPEND - The IPL can append multiple messages atomically via this extension, but it will still use COPY where possible.
- BINARY - The IPL has full support for BINARY, and can append full BINARY messages as well as download them.
- CHILDREN - The IPL will use child information in LISTs where supplied, although it will prefer using LISTEXT or LIST-EXTENDED where possible.
- ID - The IPL can supply ID information when requested.
- NAMESPACE - The IPL will use NAMESPACE to provide a consistent view of the mailbox layout.
- MAILBOX-REFERRALS - The IPL will follow referrals where provided, however if you have the choice, don't use a server that does this - it's slower.
- IDLE - Push notifications. They're cool.
- UNSELECT - The IPL uses UNSELECT, or emulates it with wild abandon, instead of CLOSE.
- ACL - The IPL uses MYRIGHTS to locally fail commands where possible.
- LITERAL+ - The IPL will use non-synchronizing literals most of the time. It uses synchronizing literals for the first chunk of an APPEND, though.
- UIDPLUS - The IPL will prime the local cache, and use this to create local URLs of message parts.
- RIGHTS - The IPL supports the latest ACL specification.
- CATENATE - The IPL can assemble messages directly on the server.
- URLAUTH - The IPL will use this to generate signed URLs for submission via BURL.
- ESEARCH - The IPL will use ESEARCH for more efficient searching.
- CONDSTORE - The IPL will use this for fast resynchronization.
- LIST-EXTENDED - The IPL uses this where available.
- LISTEXT - The IPL will use this if LIST-EXTENDED is not available.
- ACL2 - The IPL supports getting MYRIGHTS data via LIST-EXTENDED if possible.
- SASL-IR - The IPL will send an initial response if possible.
- POSTADDRESS - The IPL will convert IMAP mailboxes into email addresses for transmission if possible.
