RFC 2061
IMAP4 Compatibility with IMAP2bis
IMAP4 COMPATIBILITY WITH IMAP2BIS β¨
Network Working Group π Request for Comments: 2061 π¦ Category: Informational π December 1996
Okay bestie, the title block first π This one is from Mark R. Crispin at the University of Washington, filed as Informational in December 1996. It doesn't list anything it obsoletes or updates, so it's just a standalone helper doc π§
Status of this Memo πΈ
This memo gives information to the Internet community π It is NOT a standard of any kind, and distribution is totally unlimited β¨
Introduction π¦
Okay so IMAP has been through a bunch of revisions and variants in its 10-year history π Most of them are either extinct or super rare. Several undocumented variants, plus the ones in RFC 1064, RFC 1176, and RFC 1203, are basically in that bin ποΈπ
Now, IMAP2bis is the one that's still everywhere, no cap π₯ It's been widely shipped with the Pine mailer, but the annoying part is there's no definitive doc describing it π This doc is meant to be read together with RFC 1176 and the newest IMAP4 spec (RFC 2060), so implementers can build an IMAP4 client or server that plays nicely with the older software π«Ά
Nothing in this document is required by the IMAP4 spec. Each implementer gets to decide for themselves whether their implementation should fail when it runs into old software π
IMAP4 has also been updated since RFC 1730, so if you want to interoperate with both RFC 1730 and RFC 2060, read both docs πβ¨
This info is NOT complete, bestie π It reflects what people currently know about server and client implementations, plus some "folklore" from the protocol's evolution π§ It's NOT a guide for every IMAP variant, just the old one you're most likely to bump into. For other old variants, check out RFC 1732 π
IMAP4 client interoperability with IMAP2bis servers π
Quick check: to see if a server supports IMAP4, just try the CAPABILITY command π An OK response tells you which IMAP4 variant(s) the server supports β¨
If the client doesn't find any of its known variants in that response, it should treat the server as IMAP2bis. A BAD response means the server is IMAP2bis or older π
Most IMAP4 features exist in IMAP2bis too, with a few exceptions π
CAPABILITY command: Its absence means the server is IMAP2bis (or older) πAUTHENTICATE command.: Use theLOGINcommand instead πLSUB, SUBSCRIBE, and UNSUBSCRIBE commands: No direct equivalent here π IMAP2bis had a thing called "bboards," which IMAP4 doesn't have. RFC 1176 handled them with theBBOARDandFIND BBOARDScommands. IMAP2bis addedFIND ALL.BBOARDS,SUBSCRIBE BBOARD, andUNSUBSCRIBE BBOARD. It's recommended that none of these get implemented in new software, including servers that still support old clients π«LIST command: UseFIND ALL.MAILBOXESinstead. It has a similar syntax and response to theFIND MAILBOXEScommand from RFC 1176.FIND MAILBOXESprobably won't give you much useful info π€·ββοΈ*in a sequence: Use the number of messages in the mailbox from theEXISTSunsolicited response π’SEARCH extensions (character set, additional criteria): Rewrite the search using only RFC 1176 syntax. That might mean doing several searches to get what you want πBODYSTRUCTURE fetch data item: Use the non-extensibleBODYdata item π§©body sections HEADER, TEXT, MIME, HEADER.FIELDS, HEADER.FIELDS.NOT: Only use body section numbers π’BODY.PEEK[section]: UseBODY[section]and manually clear the\Seenflag when needed πFLAGS.SILENT, +FLAGS.SILENT, and -FLAGS.SILENT store data items: Use the non-SILENT versions and ignore the untagged FETCH responses that come back ποΈUID fetch data item and the UID commands: No functional equivalent πCLOSE command: No functional equivalent either π
In IMAP2bis, the TRYCREATE special information token gets sent as its own unsolicited OK response instead of living inside the NO response β¨
Also, IMAP2bis is ambiguous about whether flags or internal dates are preserved on COPY. There's no way to know what the server actually does π«
IMAP4 server interoperability with IMAP2bis clients π¦
The only real interop problem between an IMAP4 server and a well-written IMAP2bis client is how "\" is handled in quoted strings π€ The fix is simple: if "\" or <"> shows up inside a string, use literals instead of quoted strings π«Ά
Security Considerations π
Okay, bestie, I'm not gonna lie, this part is short π This memo does NOT discuss security issues at all. Be careful out there π
Author's Address π
Mark R. Crispin
Networks and Distributed Computing
University of Washington
4545 15th Aveneue NE
Seattle, WA 98105-4527
Phone: (206) 543-5762
EMail: MRC@CAC.Washington.EDU
That's the whole RFC, periodt! πππ
π¦ where this page comes from
- ietf: rfc2061 1996-12
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms