There are a large variety of different IMAP servers in use and while they all meet the basic requirements in RFC 3501 there are a lot of optional features that can greatly affect the resulting capabilities.
the two key things we are looking at now are the result of a capabilities request and the permanent flags report from a select (if it lists \* then we can setup our own flags.
the servers we have information about are
Dovecot Secure IMAP server (http://dovecot.org/)
jelly@linux:〜> telnet imap.ktb.net 143 Trying 198.175.228.193... Connected to imap.ktb.net. Escape character is '^]'. * OK dovecot ready. a login myuser mypass a OK Logged in. b select INBOX * FLAGS (\Answered \Flagged \Deleted \Seen \Draft) * OK [PERMANENTFLAGS (\Answered \Flagged \Deleted \Seen \Draft \*)] Flags permitted. * 315 EXISTS * 122 RECENT * OK [UNSEEN 1] First unseen. * OK [UIDVALIDITY 1083632541] UIDs valid * OK [UIDNEXT 12452] Predicted next UID b OK [READ-WRITE] Select completed. c capability * CAPABILITY IMAP4rev1 SORT THREAD=REFERENCES MULTIAPPEND UNSELECT LITERAL+ IDLE CHILDREN LISTEXT LIST-SUBSCRIBED c OK Capability completed.
Unknown Type (possibly “University of Washington IMAP Server”)
* OK [CAPABILITY IMAP4REV1 LOGIN-REFERRALS STARTTLS AUTH=LOGIN] leto IMAP4rev1 2001.315rh at Mon, 31 May 2004 11:06:55 +0200 (CEST) a LOGIN a OK [CAPABILITY IMAP4REV1 IDLE NAMESPACE MAILBOX-REFERRALS SCAN SORT THREAD=REFERENCES THREAD=ORDEREDSUBJECT MULTIAPPEND] User xy authenticated b SELECT INBOX * 3 EXISTS * 0 RECENT * OK [UIDVALIDITY 1084972038] UID validity status * OK [UIDNEXT 39] Predicted next UID * FLAGS (\Answered \Flagged \Deleted \Draft \Seen) * OK [PERMANENTFLAGS (\* \Answered \Flagged \Deleted \Draft \Seen)] Permanent flags b OK [READ-WRITE] SELECT completed c CAPABILITY * CAPABILITY IMAP4REV1 IDLE NAMESPACE MAILBOX-REFERRALS SCAN SORT THREAD=REFERENCES THREAD=ORDEREDSUBJECT MULTIAPPEND LOGIN-REFERRALS STARTTLS AUTH=LOGIN c OK CAPABILITY completed D LOGOUT * BYE leto IMAP4rev1 server terminating connection D OK LOGOUT completed
Courier-IMAP 1.4.3
* OK [CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION STARTTLS] Courier-IMAP ready. Copyright 1998-2004 Double Precision, Inc. See COPYING for distribution information. a OK LOGIN Ok. * FLAGS (NonJunk \Draft \Answered \Flagged \Deleted \Seen \Recent) * OK [PERMANENTFLAGS (NonJunk \* \Draft \Answered \Flagged \Deleted \Seen)] Limited * 10 EXISTS * 0 RECENT * OK [UIDVALIDITY 1085611025] Ok * OK [MYRIGHTS "acdilrsw"] ACL b OK [READ-WRITE] Ok * CAPABILITY IMAP4rev1 UIDPLUS CHILDREN NAMESPACE THREAD=ORDEREDSUBJECT THREAD=REFERENCES SORT QUOTA IDLE ACL ACL2=UNION c OK CAPABILITY completed
Cyrus 2.2.3
* OK mail8.hotbox.ru Cyrus IMAP4 v2.2.3 server ready b select INBOX * FLAGS (\Answered \Flagged \Draft \Deleted \Seen) * OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen \*)] * 21 EXISTS * 20 RECENT * OK [UNSEEN 2] * OK [UIDVALIDITY 1078330095] * OK [UIDNEXT 379] b OK [READ-WRITE] Completed c capability * CAPABILITY IMAP4 IMAP4rev1 ACL QUOTA LITERAL+ MAILBOX-REFERRALS NAMESPACE UIDPLUS ID NO_ATOMIC_RENAME UNSELECT CHILDREN MULTIAPPEND BINARY SORT THREAD=ORDEREDSUBJECT THREAD=REFERENCES ANNOTATEMORE IDLE LOGINDISABLED c OK Completed
Exchange 5.5
* OK Microsoft Exchange IMAP4rev1 server version 5.5.2654.50 (wlvexc00.diginsite.com) ready b select INBOX c capability d logout * 22576 EXISTS * 0 RECENT * FLAGS (\Seen \Answered \Flagged \Deleted \Draft) * OK [PERMANENTFLAGS (\Seen \Answered \Flagged \Deleted \Draft)] * OK [UNSEEN 50] Is the first unseen message * OK [UIDVALIDITY 54805] UIDVALIDITY value. b OK [READ-WRITE] SELECT completed. * CAPABILITY IMAP4 IMAP4rev1 IDLE LITERAL+ LOGIN-REFERRALS MAILBOX-REFERRALS NAMESPACE AUTH=NTLM c OK CAPABILITY completed. * BYE Microsoft Exchange IMAP4rev1 server version 5.5.2654.50 signing off
Sun iPlanet Messaging Server 5.2
* OK Messaging Multiplexor (iPlanet Messaging Server 5.2 HotFix 1.26 (built Mar 31 2004)) * OK [PERMANENTFLAGS (\Answered \Flagged \Draft \Deleted \Seen NonJunk Junk XOPL-3 \*)] * CAPABILITY IMAP4 IMAP4rev1 ACL QUOTA LITERAL+ NAMESPACE UIDPLUS CHILDREN LANGUAGE STARTTLS XSENDER X-NETSCAPE XSERVERINFO
Exchange 2003 (6.5)
* OK Microsoft Exchange Server 2003 IMAP4rev1 server version 6.5.6944.0 (stbowa02.stb.sun.ac.za) ready. b OK LOGIN completed. * 8 EXISTS * 0 RECENT * FLAGS (\Seen \Answered \Flagged \Deleted \Draft $MDNSent) * OK [PERMANENTFLAGS (\Seen \Answered \Flagged \Deleted \Draft $MDNSent)] Permanent flags * OK [UNSEEN 1] Is the first unseen message * OK [UIDVALIDITY 13888] UIDVALIDITY value c OK [READ-WRITE] SELECT completed. * CAPABILITY IMAP4 IMAP4rev1 IDLE LOGIN-REFERRALS MAILBOX-REFERRALS NAMESPACE LITERAL+ UIDPLUS CHILDREN d OK CAPABILITY completed. * BYE Microsoft Exchange Server 2003 IMAP4rev1 server version 6.5.6944.0 signing off.
Should you find anything in the documentation that is incomplete, unclear, outdated or just plain wrong, please let us know and leave a note in the Documentation Forum.