Internet-Draft | Further IMAP/JMAP keywords & attributes | December 2024 |
Jenkins & Eggert | Expires 12 June 2025 | [Page] |
This document defines a number of keywords that have been in use by Fastmail and Apple respectively for some time. It defines their intended use. Additionally some mailbox names with special meaning have been in use by Fastmail, and this document defines their intended use. This document registers all of these names with IANA to avoid name collisions.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
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."¶
This Internet-Draft will expire on 12 June 2025.¶
Copyright (c) 2024 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 (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
The Internet Message Access Protocol (IMAP) specification [RFC9051] defines the use of message keywords, and an "IMAP Keywords" registry is created in [RFC5788]. Similarly [RFC8457] creates an "IMAP Mailbox Name Attributes Registry".¶
This document does the following:¶
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
The Internet Message Access Protocol (IMAP) specification [RFC9051] defines a \Flagged
system flag to mark a message for urgent/special attention. The new keywords defined in Sections 4.1.14, 4.1.15, and 4.1.16 allow such a flagged message to have that flag be of one of 7 colors.¶
The 3 flag color keywords $MailFlagBit0
, $MailFlagBit1
, and $MailFlagBit2
make up a bit pattern that define the color of the flag as such:¶
Bit 0 | Bit 1 | Bit 2 | Color |
---|---|---|---|
0 | 0 | 0 | red |
1 | 0 | 0 | orange |
0 | 1 | 0 | yellow |
1 | 1 | 1 | green |
0 | 0 | 1 | blue |
1 | 0 | 1 | purple |
0 | 1 | 1 | gray |
These flags SHOULD be ignored if the \Flagged
system flag is not set. If the \Flagged
system flag is set, the flagged status MAY be displayed to the user in the color corresponding to the combination of the 3 flag color keywords.¶
A mail client that is aware of these flag color keywords SHOULD clear all 3 flag color keywords when the user unflags the message, i.e. when unsetting the \Flagged
system flag, all 3 flag color keywords SHOULD also be unset.¶
A mail client SHOULD NOT set any of these flags unless the \Flagged
system flag is already set or is being set.¶
Servers MAY unset these flag color keywords when a client unsets the \Flagged
system flag.¶
3 IMAP/JMAP keywords are registered in the IMAP/JMAP keywords registry, as established in RFC5788.¶
$notify
¶
This keyword can cause automatic action. On supporting clients, when a new message is added to the mailstore with this keyword, the client should show the user a notification.¶
Mail clients commonly show notifications for new mail, but often the only option is to show a notification for every message that arrives in the inbox. This keyword allows the user to create rules (or the server to automatically determine) specific messages that should show a notification.¶
Notifications for these messages may be in addition to notifications for messages matching other criteria, according to user preference set on the client.¶
$muted
¶
This keyword can cause automatic action. On supporting servers, when a new message arrives that is in the same thread as a message with this keyword the server may automatically process it in some way to deprioritise it for the user, for example by moving it to the archive or trash, or marking it read. The exact action, whether this is customisable by the user, and interaction with user rules is vendor specific.¶
A message is defined to be in the same thread as another if the server assigns them both the same thread id, as defined in [RFC8474] Section 5.2 for IMAP or [RFC8621], Section 3 for JMAP.¶
$followed
. If both are specified on a thread, servers MUST behave as though only $followed
were set.¶
$followed
¶
This keyword can cause automatic action. On supporting servers, when a new message arrives that is in the same thread as a message with this keyword the server may automatically process it in some way to prioritise it for the user, for example by ignoring rules that would make it skip the inbox, or automatically adding the $notify
keyword. The exact action, whether this is customisable by the user, and interaction with user rules is vendor specific.¶
A message is defined to be in the same thread as another if the server assigns them both the same thread id, as defined in [RFC8474] Section 5.2 for IMAP or [RFC8621], Section 3 for JMAP.¶
$muted
. If both are specified on a thread, servers MUST behave as though only $followed
were set.¶
$memo
¶
$hasmemo
keyword should be set/cleared at the same time.¶
$hasmemo
¶
$memo
keyword.¶
$memo
keyword, the message it is a note for gets the $hasmemo
keyword. This keyword can help in searching for messages with memos, or deciding whether to fetch the whole thread to look for memos when loading a mailbox.¶
$memo
keyword should be created/destroyed at the same time.¶
$hasattachment
¶
$autosent
¶
$unsubscribed
¶
$canunsubscribe
¶
$imported
¶
$istrusted
¶
$maskedemail
¶
$new
¶
$MailFlagBit0
¶
\Flagged
set. See Section 3 for details.¶
$MailFlagBit1
, $MailFlagBit2
¶
$MailFlagBit1
¶
\Flagged
set. See Section 3 for details.¶
$MailFlagBit0
, $MailFlagBit2
¶
$MailFlagBit2
¶
\Flagged
set. See Section 3 for details.¶
$MailFlagBit0
, $MailFlagBit1
¶
This document should not affect the security of the Internet.¶