Functions

append = "APPEND" SP mailbox [SP flag-list] [SP date-time] SP literal

authenticate = "AUTHENTICATE" SP auth-type *(CRLF base64) (edited)

authenticate = "AUTHENTICATE" SP auth-type *(CRLF base64) (edited)

command = tag SP ( command-any / command-auth / command-nonauth / command-select ) CRLF

command-any = "CAPABILITY" / "LOGOUT" / "NOOP" / x-command

command-auth = append / create / delete / examine / list / lsub / rename / select / status / subscribe / unsubscribe / idle ; RFC 2177 enable ; RFC 5161 compress ; RFC 4978

command-nonauth = login / authenticate / "STARTTLS"

command-select = "CHECK" / "CLOSE" / "EXPUNGE" / copy / fetch / store / uid / search

copy = "COPY" SP sequence-set SP mailbox

create = "CREATE" SP mailbox

delete = "DELETE" SP mailbox

examine = "EXAMINE" SP mailbox

fetch = "FETCH" SP sequence-set SP ("ALL" / "FULL" / "FAST" / fetch-att / "(" fetch-att *(SP fetch-att) ")")

list = "LIST" SP mailbox SP list-mailbox

login = "LOGIN" SP userid SP password

lsub = "LSUB" SP mailbox SP list-mailbox

password = astring

rename = "RENAME" SP mailbox SP mailbox

search = "SEARCH" [SP "CHARSET" SP charset] 1*(SP search-key)

search-key = "ALL" / "ANSWERED" / "BCC" SP astring / "BEFORE" SP date / "BODY" SP astring / "CC" SP astring / "DELETED" / "FLAGGED" / "FROM" SP astring / "KEYWORD" SP flag-keyword / "NEW" / "OLD" / "ON" SP date / "RECENT" / "SEEN" / "SINCE" SP date / "SUBJECT" SP astring / "TEXT" SP astring / "TO" SP astring / "UNANSWERED" / "UNDELETED" / "UNFLAGGED" / "UNKEYWORD" SP flag-keyword / "UNSEEN" / ; Above this line were in [IMAP2] "DRAFT" / "HEADER" SP header-fld-name SP astring / "LARGER" SP number / "NOT" SP search-key / "OR" SP search-key SP search-key / "SENTBEFORE" SP date / "SENTON" SP date / "SENTSINCE" SP date / "SMALLER" SP number / "UID" SP sequence-set / "UNDRAFT" / sequence-set / "(" search-key *(SP search-key) ")"

select = "SELECT" SP mailbox

status = "STATUS" SP mailbox SP "(" status-att *(SP status-att) ")"

store = "STORE" SP sequence-set SP store-att-flags

store-att-flags = (["+" / "-"] "FLAGS" [".SILENT"]) SP (flag-list / (flag *(SP flag)))

subscribe = "SUBSCRIBE" SP mailbox

uid = "UID" SP (copy / fetch / search / store)

unsubscribe = "UNSUBSCRIBE" SP mailbox

userid = astring