RFC 5788

IMAP4 Keyword Registry

๐Ÿ“… published March 2010, from ietf

RFC 5788: IMAP4 Keyword Registry ๐ŸŽ€

Okay bestie, this is RFC 5788 ๐Ÿฆ‹ It's an Internet Standards Track document (so it's official, not just an opinion) from March 2010, with ISSN 2070-1721. The authors are A. Melnikov and D. Cridland, both from Isode Limited. The header doesn't list anything it obsoletes or updates, so it's a fresh start ๐Ÿ’–

Abstract โœจ

The goal here is to set up a brand new IANA registry for IMAP keywords and define how keywords get registered. The whole point is better interoperability between different IMAP clients, so everyone's on the same page ๐Ÿซถ

Status of This Memo ๐Ÿ’…

This is an Internet Standards Track document. It's a product of the Internet Engineering Task Force (IETF) and represents the consensus of the IETF community. It got public review and was approved for publication by the Internet Engineering Steering Group (IESG). For more on Internet Standards, check out Section 2 of RFC 5741 ๐Ÿ“š

For the current status, any errata, and how to give feedback, head to http://www.rfc-editor.org/info/rfc5788 ๐ŸŒธ

Copyright (c) 2010 IETF Trust and the persons identified as the document authors. All rights reserved โœจ

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) as they were in effect on the date of publication. Please actually read these, because they describe your rights and restrictions for this document ๐Ÿ™ˆ Code Components pulled out of this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions, and they come without warranty as described in the Simplified BSD License.

Table of Contents ๐Ÿงš

1. Introduction ....................................................2
2. Conventions Used in This Document ...............................2
3. IANA Considerations .............................................3
   3.1. Review Guidelines for the Designated Expert Reviewer .......4
   3.2. Comments on IMAP Keywords' Registrations ...................5
   3.3. Change Control .............................................5
   3.4. Initial Registrations ......................................6
        3.4.1. $MDNSent IMAP Keyword Registration ..................6
        3.4.2. $Forwarded IMAP Keyword Registration ................7
        3.4.3. $SubmitPending IMAP Keyword Registration ............8
        3.4.4. $Submitted IMAP Keyword Registration ................9
4. Security Considerations ........................................10
5. Acknowledgements ...............................................10
6. References .....................................................10
   6.1. Normative References ......................................10
   6.2. Informative References ....................................11

1. Introduction ๐Ÿ’–

Okay so, IMAP keywords [RFC3501] are boolean named flags that clients use to annotate messages in an IMAP mailbox. Keywords are an optional feature of IMAP, but most IMAP servers can store arbitrary keywords anyway. Plenty of mainstream clients only use a limited set of specific keywords, and some can manage arbitrary ones (create, edit, display) โœจ

Over the years some keywords became de-facto standards with specific semantics attached. Sometimes different client implementors picked different names for the same semantics ๐Ÿ™ˆ Some server implementors automatically map those keywords to each other so clients can still talk to each other, which is honestly iconic of them ๐Ÿ‘‘

Other times the same keyword got used with different semantics, and that caused interoperability problems ๐Ÿ’€

This document is here to stop more incompatible uses of IMAP keywords. It sets up an "IMAP Keywords" registry and allocates a special prefix for standardized keywords ๐Ÿฆ‹

2. Conventions Used in This Document ๐Ÿ“

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [Kwds] ๐Ÿซถ

3. IANA Considerations ๐ŸŒธ

IANA has established a brand new registry for IMAP keywords โœจ

To register an IMAP keyword, you fill in the template below and then follow the instructions on the IANA pages for the registry to submit it to IANA ๐Ÿ“

   Subject:    Registration of IMAP keyword X

   IMAP keyword name:

   Purpose (description):

   Private or Shared on a server:  (One of PRIVATE, SHARED, or BOTH.
                                   PRIVATE means that each different
                                   user has a distinct copy of the
                                   keyword.  SHARED means that all
                                   different users see the same value of
                                   the keyword.  BOTH means that an IMAP
                                   server can have the keyword as either
                                   private or shared.)

   Is it an advisory keyword or may it cause an automatic action:

   When/by whom the keyword is set/cleared:

   Related keywords:  (for example, "mutually exclusive with keywords Y
                      and Z")

   Related IMAP capabilities:

   Security considerations:

   Published specification (recommended):

   Person & email address to contact for further information:

   Intended usage:  (One of COMMON, LIMITED USE, or DEPRECATED (i.e.,
                    not recommended for use))

   Owner/Change controller:  (MUST be "IESG" for any "common use"
                             keyword registration specified in an IETF
                             Review document.  See definition of "common
                             use" below in this section.  When the
                             Owner/Change controller is not a
                             Standardization Organization, the
                             registration request MUST make it clear if
                             the registration is controlled by a
                             company, or the individual performing the
                             registration.)

   Note:       (Any other information that the author deems interesting
               may be added here, for example, if the keyword(s) is
               supported by existing clients.)

Registering an IMAP keyword requires Expert Review [RFC5226] ๐Ÿ” You kick it off by posting your registration request to the Message Organization WG mailing list <morg@ietf.org> (or whatever replacement the responsible Application Area Director picked), and you CC IANA at <iana@iana.org> ๐Ÿ’Œ Then the community gets at least two weeks to give input on that mailing list. After that, the expert decides whether the request is appropriate and either approves or disapproves it, with notice to the requestor, the mailing list, and IANA. Any refusal comes with a clear explanation ๐Ÿซถ

The IESG appoints one or more Expert Reviewers for the IMAP keyword registry set up by this document ๐Ÿ‘‘

Expert Reviewers should aim for timely reviews. They should take no longer than six weeks to make and announce a decision, or let the mailing list know that more time is needed โฐ

Decisions (or lack of decisions) made by an Expert Reviewer can first be appealed to the Application Area Directors. If the appellant isn't satisfied with that response, they can go to the full IESG ๐Ÿ”ฅ

There are two types of IMAP keywords in the "IMAP Keywords" registry: ones intended for "common use", and vendor-/organization-specific ones (also known as "limited use"). An IMAP keyword counts as "common use" if it's reasonably expected to be implemented in at least two independent client implementations. The two types have different levels of registration requirements, so keep reading ๐ŸŒˆ

3.1. Review Guidelines for the Designated Expert Reviewer ๐Ÿ’…

Expert Reviewers should focus on the following requirements โœจ

Registering a vendor-/organization-specific ("limited use") IMAP keyword is easier. The Expert Reviewer only needs to check that the requested name doesn't conflict with a name that's already registered, and that the name isn't too generic, misleading, etc. The Expert Reviewer MAY request a change to the IMAP keyword name before approving the registration. The Expert Reviewer SHOULD refuse a registration if there's already a registered IMAP keyword that serves the same purpose but has a different name ๐Ÿ™…โ€โ™€๏ธ

When registering an IMAP keyword for "common use", the Expert Reviewer does all the checks described for vendor-/organization-specific keywords, plus the extra checks detailed below ๐ŸŽ€

Keywords intended for "common use" SHOULD start with the "$" prefix. (This is a SHOULD and not a MUST, because some commonly used IMAP keywords that are in widespread use don't follow this convention ๐Ÿ™ˆ)

IMAP keywords intended for "common use" SHOULD be standardized in IETF Review [RFC5226] documents. (IETF Review documents still require Expert Review, so no skipping that step ๐Ÿ˜ค)

Values in the "IMAP Keywords" IANA registry that are intended for "common use" must be clearly documented and likely to ensure interoperability. They must be useful and not harmful to the Internet ๐ŸŒธ When an IMAP keyword being registered is already deployed, Expert Reviewers should favor registering it over demanding perfect documentation and/or asking for a name change ๐Ÿซถ

The Expert Reviewer MAY automatically "upgrade" a registration request for a "limited use" IMAP keyword to "common use" level. The Expert Reviewer MAY also request that a registration targeted for "common use" be registered as "limited use" instead ๐Ÿฆ‹


Part 2 picks up at Section 3.2 with comments on registrations, change control, and the rest of the bestie-approved content ๐Ÿ’–

3.4. Initial Registrations ๐ŸŽ€

IANA has registered the IMAP keywords specified in the following subsections in the registry established by this document. ๐Ÿงš

3.4.1. $MDNSent IMAP Keyword Registration ๐Ÿ’Œ

Subject: Registration of IMAP keyword $MDNSent

IMAP keyword name: $MDNSent

Purpose (description): okay so this one says a Message Disposition Notification (MDN) MUST NOT be sent for any message tagged with the $MDNSent IMAP keyword. Like, hard no, bestie. ๐Ÿ™…โ€โ™€๏ธ

Private or Shared on a server: SHARED โœจ

Is it an advisory keyword or may it cause an automatic action: this keyword can cause automatic action by the client. See [RFC3503] for more details. ๐Ÿค–

When/by whom the keyword is set/cleared: this keyword is set by an IMAP client when it decides to act on an MDN request, or when uploading a sent or draft message. It can also be set by a delivery agent. Once it's set, the flag SHOULD NOT be cleared. ๐Ÿ”’

Related keywords: None

Related IMAP capabilities: None

Security considerations: See Section 6 of [RFC3503] ๐Ÿ›ก๏ธ

Published specification (recommended): [RFC3503]

Person & email address to contact for further information: Alexey Melnikov <alexey.melnikov@isode.com> ๐Ÿ“ฎ

Intended usage: COMMON

Owner/Change controller: IESG ๐Ÿ‘‘

Note:

3.4.2. $Forwarded IMAP Keyword Registration ๐Ÿฆ‹

Subject: Registration of the IMAP keyword $Forwarded

IMAP keyword name: $Forwarded

Purpose (description): $Forwarded is used by several IMAP clients to specify that the message was resent to another email address, embedded within or attached to a new message. This keyword is set by the mail client when it successfully forwards the message to another email address. Typically it's how a client shows a different (or additional) icon for a message that got forwarded. ๐Ÿ’ซ

Private or Shared on a server: BOTH

Is it an advisory keyword or may it cause an automatic action: advisory ๐Ÿ’โ€โ™€๏ธ

When/by whom the keyword is set/cleared: this keyword can be set by either a delivery agent or a mail client. Once it's set, the flag SHOULD NOT be cleared. Notes: there is no way to tell if a message with the $Forwarded keyword set was forwarded more than once. ๐Ÿคทโ€โ™€๏ธ

Related keywords: None

Related IMAP capabilities: None

Security considerations: A server implementing this keyword as a shared keyword may disclose that a confidential message was forwarded. ๐Ÿซฃ

Published specification (recommended): [RFC5550]

Person & email address to contact for further information: Alexey Melnikov <alexey.melnikov@isode.com> ๐Ÿ“ฎ

Intended usage: COMMON

Owner/Change controller: IESG ๐Ÿ‘‘

Note:

3.4.3. $SubmitPending IMAP Keyword Registration ๐Ÿš€

Subject: Registration of IMAP keyword $SubmitPending

IMAP keyword name: $SubmitPending

Purpose (description): the $SubmitPending IMAP keyword marks the message as awaiting submission. It lets you store messages that are waiting to be sent in the same mailbox as messages that were already submitted and/or are still being edited. ๐Ÿ“ฌ

A message that has both $Submitted and $SubmitPending IMAP keywords set is a message being actively submitted. ๐Ÿƒโ€โ™€๏ธ

Private or Shared on a server: SHARED

Is it an advisory keyword or may it cause an automatic action: this keyword can cause automatic action by the client. See Section 5.10 of [RFC5550] for more details. โšก

When/by whom the keyword is set/cleared: this keyword is set by a mail client when it decides the message needs to be sent out. ๐Ÿ“ค

Related keywords: $Submitted

Related IMAP capabilities: None

Security considerations: A server implementing this keyword as a shared keyword may disclose that a confidential message is scheduled to be sent out or is being actively sent out. ๐Ÿ˜ฌ

Published specification (recommended): [RFC5550]

Person & email address to contact for further information: Alexey Melnikov <alexey.melnikov@isode.com> ๐Ÿ“ฎ

Intended usage: COMMON

Owner/Change controller: IESG ๐Ÿ‘‘

Note:

3.4.4. $Submitted IMAP Keyword Registration ๐ŸŒท

Subject: Registration of IMAP keyword $Submitted

IMAP keyword name: $Submitted

Purpose (description): the $Submitted IMAP keyword marks the message as being sent out.

A message that has both $Submitted and $SubmitPending IMAP keywords set is a message being actively submitted. ๐Ÿƒโ€โ™€๏ธ

Private or Shared on a server: SHARED

Is it an advisory keyword or may it cause an automatic action: this keyword can cause automatic action by the client. See Section 5.10 of [RFC5550] for more details. โšก

When/by whom the keyword is set/cleared: this keyword is set by a mail client when it decides to start sending it. ๐Ÿ–ฑ๏ธ

Related keywords: $SubmitPending

Related IMAP capabilities: None

Security considerations: A server implementing this keyword as a shared keyword may disclose that a confidential message was sent or is being actively sent out. ๐Ÿซข

Published specification (recommended): [RFC5550]

Person & email address to contact for further information: Alexey Melnikov <alexey.melnikov@isode.com> ๐Ÿ“ฎ

Intended usage: COMMON

Owner/Change controller: IESG ๐Ÿ‘‘

Note:

4. Security Considerations ๐Ÿ”

IMAP keywords are one of the base IMAP features [RFC3501]. This document doesn't change their behavior, so it does not add new security issues. ๐Ÿ™Œ

A particular IMAP keyword might have specific security considerations, which are documented in the IMAP keyword registration template standardized by this document. ๐Ÿ“‹

5. Acknowledgements ๐Ÿ’–

The creation of this document was prompted by one of many discussions on the IMAP mailing list. ๐Ÿ’ฌ

John Neystadt co-authored the first version of this document. ๐Ÿซถ

Special thanks to Chris Newman, David Harris, Lyndon Nerenberg, Mark Crispin, Samuel Weiler, Alfred Hoenes, Lars Eggert, and Cullen Jennings for reviewing different versions of this document. However, all errors or omissions must be attributed to the authors of this document. ๐Ÿ™

The authors would also like to thank the developers of Mozilla mail clients for providing food for thought. ๐ŸฆŠ

6. References ๐Ÿ“š

6.1. Normative References

[Kwds]     Bradner, S., "Key words for use in RFCs to Indicate
           Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC3501]  Crispin, M., "INTERNET MESSAGE ACCESS PROTOCOL - VERSION
           4rev1", RFC 3501, March 2003.

[RFC5226]  Narten, T. and H. Alvestrand, "Guidelines for Writing an
           IANA Considerations Section in RFCs", BCP 26, RFC 5226,
           May 2008.

6.2. Informative References

[RFC3503]  Melnikov, A., "Message Disposition Notification (MDN)
           profile for Internet Message Access Protocol (IMAP)",
           RFC 3503, March 2003.

[RFC5550]  Cridland, D., Melnikov, A., and S. Maes, "The Internet
           Email to Support Diverse Service Environments (Lemonade)
           Profile", RFC 5550, August 2009.

Authors' Addresses ๐Ÿงšโ€โ™€๏ธ

Alexey Melnikov
Isode Limited
5 Castle Business Village
36 Station Road
Hampton, Middlesex  TW12 2BX
UK

EMail: Alexey.Melnikov@isode.com
URI:   http://www.melnikov.ca/


Dave Cridland
Isode Limited
5 Castle Business Village
36 Station Road
Hampton, Middlesex  TW12 2BX
UK

EMail: dave.cridland@isode.com
๐Ÿ“ฆ where this page comes from