Network Working Group M. Crispin Internet Draft: IMAP4 STATUS Extension University of Washington Document: internet-drafts/draft-ietf-imap-status-02.txt January 1996 IMAP4 STATUS EXTENSION Status of this Memo This document is an Internet-Draft. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." To learn the current status of any Internet-Draft, please check the "1id-abstracts.txt" listing contained in the Internet-Drafts Shadow Directories on ds.internic.net (US East Coast), nic.nordu.net (Europe), ftp.isi.edu (US West Coast), or munnari.oz.au (Pacific Rim). This is a draft document of the IETF IMAP Working Group. A revised version of this draft document will be submitted to the RFC editor as an Proposed Standard for the Internet Community. Discussion and suggestions for improvement are requested, and should be sent to imap@CAC.Washington.EDU. This document will expire before 30 June 1996. Distribution of this memo is unlimited. Introduction The Internet Message Access Protocol, Version 4 [IMAP4] contains the LIST and LSUB commands, for indentifying mailbox names on the server and retrieving some basic status informaton. This document describes a mechanism to obtain additional mailbox name status information. Crispin [Page 1] Internet DRAFT IMAP4 - STATUS January 17, 1996 IMAP4 STATUS Extension The STATUS extension is present in any IMAP4 implementation which returns "STATUS" as one of the supported capabilities to the CAPABILITY command. Servers which have this extension offer the STATUS command and STATUS response, which enables the client to query the server about the status of a mailbox without selecting the mailbox. The STATUS command provides an alternative to opening a second IMAP4 connection and doing an EXAMINE command on an mailbox to query that mailbox's status without deselecting the current mailbox in the first IMAP4 connection. Unlike the LIST command, the STATUS command is not guaranteed to be fast in its response. In some implementations, the server may have to open the mailbox read-only internally to obtain certain status information. Also unlike the LIST command, the STATUS command does not accept wildcards. 6.3.STATUS. STATUS Command Arguments: mailbox name status data item names Data: untagged responses: STATUS Result: OK - status completed NO - status failure: no status for that name BAD - command unknown or arguments invalid The STATUS command requests the status of the indicated mailbox. It does not change the currently selected mailbox, nor does it affect the state of any messages in the queried mailbox (in particular, STATUS must not cause messages to lose the \Recent flag). The currently defined status data items that can be requested are: MESSAGES The number of messages in the mailbox. RECENT The number of messages with the \Recent flag set. UID-NEXT The next UID that will is available for assignment to the mailbox. UID-VALIDITY The unique identifier validity value of the Crispin [Page 2] Internet DRAFT IMAP4 - STATUS January 17, 1996 mailbox, as described in [IMAP4]. UNSEEN The number of messages which do not have the \Seen flag set. Example: C: A042 STATUS blurdybloop (UID-NEXT MESSAGES) S: * STATUS blurdybloop (MESSAGES 231 UID-NEXT 44292) S: A042 OK STATUS completed 7.2.STATUS. STATUS Response Data: name status parenthesized list The STATUS response occurs as a result of an STATUS command. It returns the mailbox name that matches the STATUS specification and the requested mailbox status information. Example: S: * STATUS blurdybloop (MESSAGES 231 UID-NEXT 44292) Crispin [Page 3] Internet DRAFT IMAP4 - STATUS January 17, 1996 9. Additional Formal Syntax The following syntax is as described in [IMAP4], with one extension: the token "+:=" means "added to the existing definition" as opposed to "::=" which means "definition". capability +:= "STATUS" ;; Must be returned by server to use STATUS command command_auth +:= status mailbox_data +:= "STATUS" SPACE mailbox SPACE "(" #