Zum Hauptinhalt springen

Appendix B. Changes from RFC 2060

  1. Clarify that commands which break command pipelining must wait for a completion result response.

  2. Clarify that EXAMINE does not affect \Recent.

RFC 3501 IMAPv4 March 2003

  1. Make description of MIME structure consistent.

  2. Clarify that date searches disregard the time and timezone of the INTERNALDATE or Date: header. In other words, "ON 13-APR-2000" means messages with an INTERNALDATE text which starts with "13-APR-2000", even if timezone differential from the local timezone is sufficient to move that INTERNALDATE into the previous or next day.

  3. Clarify that the header fetches don't add a blank line if one isn't in the [RFC-2822] message.

  4. Clarify (in discussion of UIDs) that messages are immutable.

  5. Add an example of CHARSET searching.

  6. Clarify in SEARCH that keywords are a type of flag.

  7. Clarify the mandatory nature of the SELECT data responses.

  8. Add optional CAPABILITY response code in the initial OK or PREAUTH.

  9. Add note that server can send an untagged CAPABILITY command as part of the responses to AUTHENTICATE and LOGIN.

  10. Remove statement about it being unnecessary to issue a CAPABILITY command more than once in a connection. That statement is no longer true.

  11. Clarify that untagged EXPUNGE decrements the number of messages in the mailbox.

  12. Fix definition of "body" (concatenation has tighter binding than alternation).

  13. Add a new "Special Notes to Implementors" section with reference to [IMAP-IMPLEMENTATION].

  14. Clarify that an untagged CAPABILITY response to an AUTHENTICATE command should only be done if a security layer was not negotiated.

  15. Change the definition of atom to exclude "]". Update astring to include "]" for compatibility with the past. Remove resp-text-atom.

  16. Remove NEWNAME. It can't work because mailbox names can be literals and can include "]". Functionality can be addressed via referrals.

RFC 3501 IMAPv4 March 2003

  1. Move modified UTF-7 rationale in order to have more logical paragraph flow.

  2. Clarify UID uniqueness guarantees with the use of MUST.

  3. Note that clients should read response data until the connection is closed instead of immediately closing on a BYE.

  4. Change RFC-822 references to RFC-2822.

  5. Clarify that RFC-2822 should be followed instead of RFC-822.

  6. Change recommendation of optional automatic capabilities in LOGIN and AUTHENTICATE to use the CAPABILITY response code in the tagged OK. This is more interoperable than an unsolicited untagged CAPABILITY response.

  7. STARTTLS and AUTH=PLAIN are mandatory to implement; add recommendations for other [SASL] mechanisms.

  8. Clarify that a "connection" (as opposed to "server" or "command") is in one of the four states.

  9. Clarify that a failed or rejected command does not change state.

  10. Split references between normative and informative.

  11. Discuss authentication failure issues in security section.

  12. Clarify that a data item is not necessarily of only one data type.

  13. Clarify that sequence ranges are independent of order.

  14. Change an example to clarify that superfluous shifts in Modified-UTF7 can not be fixed just by omitting the shift. The entire string must be recalculated.

  15. Change Envelope Structure definition since [RFC-2822] uses "envelope" to refer to the [SMTP] envelope and not the envelope data that appears in the [RFC-2822] header.

  16. Expand on RFC822.HEADER response data vs. BODY[HEADER].

  17. Clarify Logout state semantics, change ASCII art.

  18. Security changes to comply with IESG requirements.

RFC 3501 IMAPv4 March 2003

  1. Add definition for body URI.

  2. Break sequence range definition into three rules, with rewritten descriptions for each.

  3. Move STARTTLS and LOGINDISABLED here from [IMAP-TLS].

  4. Add IANA Considerations section.

  5. Clarify valid client assumptions for new message UIDs vs. UIDNEXT.

  6. Clarify that changes to permanentflags affect concurrent sessions as well as subsequent sessions.

  7. Clarify that authenticated state can be entered by the CLOSE command.

  8. Emphasize that SELECT and EXAMINE are the exceptions to the rule that a failing command does not change state.

  9. Clarify that newly-appended messages have the Recent flag set.

  10. Clarify that newly-copied messages SHOULD have the Recent flag set.

  11. Clarify that UID commands always return the UID in FETCH responses.

C. Key Word Index

+FLAGS <flag list> (store command data item) ............... 59 +FLAGS.SILENT <flag list> (store command data item) ........ 59 -FLAGS <flag list> (store command data item) ............... 59 -FLAGS.SILENT <flag list> (store command data item) ........ 59 ALERT (response code) ...................................... 64 ALL (fetch item) ........................................... 55 ALL (search key) ........................................... 50 ANSWERED (search key) ...................................... 50 APPEND (command) ........................................... 45 AUTHENTICATE (command) ..................................... 27 BAD (response) ............................................. 66 BADCHARSET (response code) ................................. 64 BCC <string> (search key) .................................. 51 BEFORE <date> (search key) ................................. 51 BODY (fetch item) .......................................... 55 BODY (fetch result) ........................................ 73 BODY <string> (search key) ................................. 51

RFC 3501 IMAPv4 March 2003

BODY.PEEK[<section>]<<partial>> (fetch item) ............... 57 BODYSTRUCTURE (fetch item) ................................. 57 BODYSTRUCTURE (fetch result) ............................... 74 BODY[<section>]<<origin octet>> (fetch result) ............. 74 BODY[<section>]<<partial>> (fetch item) .................... 55 BYE (response) ............................................. 67 Body Structure (message attribute) ......................... 12 CAPABILITY (command) ....................................... 24 CAPABILITY (response code) ................................. 64 CAPABILITY (response) ...................................... 68 CC <string> (search key) ................................... 51 CHECK (command) ............................................ 47 CLOSE (command) ............................................ 48 COPY (command) ............................................. 59 CREATE (command) ........................................... 34 DELETE (command) ........................................... 35 DELETED (search key) ....................................... 51 DRAFT (search key) ......................................... 51 ENVELOPE (fetch item) ...................................... 57 ENVELOPE (fetch result) .................................... 77 EXAMINE (command) .......................................... 33 EXISTS (response) .......................................... 71 EXPUNGE (command) .......................................... 48 EXPUNGE (response) ......................................... 72 Envelope Structure (message attribute) ..................... 12 FAST (fetch item) .......................................... 55 FETCH (command) ............................................ 54 FETCH (response) ........................................... 73 FLAGGED (search key) ....................................... 51 FLAGS (fetch item) ......................................... 57 FLAGS (fetch result) ....................................... 78 FLAGS (response) ........................................... 71 FLAGS <flag list> (store command data item) ................ 59 FLAGS.SILENT <flag list> (store command data item) ......... 59 FROM <string> (search key) ................................. 51 FULL (fetch item) .......................................... 55 Flags (message attribute) .................................. 11 HEADER (part specifier) .................................... 55 HEADER <field-name> <string> (search key) .................. 51 HEADER.FIELDS <header-list> (part specifier) ............... 55 HEADER.FIELDS.NOT <header-list> (part specifier) ........... 55 INTERNALDATE (fetch item) .................................. 57 INTERNALDATE (fetch result) ................................ 78 Internal Date (message attribute) .......................... 12 KEYWORD <flag> (search key) ................................ 51 Keyword (type of flag) ..................................... 11 LARGER <n> (search key) .................................... 51 LIST (command) ............................................. 40

RFC 3501 IMAPv4 March 2003

LIST (response) ............................................ 69 LOGIN (command) ............................................ 30 LOGOUT (command) ........................................... 25 LSUB (command) ............................................. 43 LSUB (response) ............................................ 70 MAY (specification requirement term) ....................... 4 MESSAGES (status item) ..................................... 45 MIME (part specifier) ...................................... 56 MUST (specification requirement term) ...................... 4 MUST NOT (specification requirement term) .................. 4 Message Sequence Number (message attribute) ................ 10 NEW (search key) ........................................... 51 NO (response) .............................................. 66 NOOP (command) ............................................. 25 NOT <search-key> (search key) .............................. 52 OK (response) .............................................. 65 OLD (search key) ........................................... 52 ON <date> (search key) ..................................... 52 OPTIONAL (specification requirement term) .................. 4 OR <search-key1> <search-key2> (search key) ................ 52 PARSE (response code) ...................................... 64 PERMANENTFLAGS (response code) ............................. 64 PREAUTH (response) ......................................... 67 Permanent Flag (class of flag) ............................. 12 READ-ONLY (response code) .................................. 65 READ-WRITE (response code) ................................. 65 RECENT (response) .......................................... 72 RECENT (search key) ........................................ 52 RECENT (status item) ....................................... 45 RENAME (command) ........................................... 37 REQUIRED (specification requirement term) .................. 4 RFC822 (fetch item) ........................................ 57 RFC822 (fetch result) ...................................... 78 RFC822.HEADER (fetch item) ................................. 57 RFC822.HEADER (fetch result) ............................... 78 RFC822.SIZE (fetch item) ................................... 57 RFC822.SIZE (fetch result) ................................. 78 RFC822.TEXT (fetch item) ................................... 58 RFC822.TEXT (fetch result) ................................. 79 SEARCH (command) ........................................... 49 SEARCH (response) .......................................... 71 SEEN (search key) .......................................... 52