rfc9979.original   rfc9979.txt 
MailMaint N.M. Jenkins Internet Engineering Task Force (IETF) N. Jenkins
Internet-Draft Fastmail Request for Comments: 9979 Fastmail
Intended status: Informational D. Eggert Category: Informational D. Eggert
Expires: 9 July 2026 Apple Inc ISSN: 2070-1721 Apple, Inc
5 January 2026 May 2026
Registration of further IMAP/JMAP keywords and mailbox name attributes Registration of Further IMAP/JMAP Keywords and Mailbox Name Attributes
draft-ietf-mailmaint-messageflag-mailboxattribute-14
Abstract Abstract
This document defines a number of keywords and mailbox name This document defines a number of keywords and mailbox name
attributes that have been in use across different server and client attributes that have been in use across different server and client
implementations. It defines the intended use of these keywords and implementations. It defines the intended use of these keywords and
mailbox name attributes. This document registers all of these with mailbox name attributes. This document registers all of these with
IANA to avoid name collisions. IANA to avoid name collisions.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This document is not an Internet Standards Track specification; it is
provisions of BCP 78 and BCP 79. published for informational purposes.
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 This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." Internet Engineering Steering Group (IESG). Not all documents
approved by the IESG are candidates for any level of Internet
Standard; see Section 2 of RFC 7841.
This Internet-Draft will expire on 9 July 2026. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
https://www.rfc-editor.org/info/rfc9979.
Copyright Notice Copyright Notice
Copyright (c) 2026 IETF Trust and the persons identified as the Copyright (c) 2026 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/ Provisions Relating to IETF Documents
license-info) in effect on the date of publication of this document. (https://trustee.ietf.org/license-info) in effect on the date of
Please review these documents carefully, as they describe your rights publication of this document. Please review these documents
and restrictions with respect to this document. Code Components carefully, as they describe your rights and restrictions with respect
extracted from this document must include Revised BSD License text as to this document. Code Components extracted from this document must
described in Section 4.e of the Trust Legal Provisions and are include Revised BSD License text as described in Section 4.e of the
provided without warranty as described in the Revised BSD License. Trust Legal Provisions and are provided without warranty as described
in the Revised BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction
2. Requirements Language . . . . . . . . . . . . . . . . . . . . 4 2. Requirements Language
3. Flag Color Keywords . . . . . . . . . . . . . . . . . . . . . 4 3. Flag Color Keywords
3.1. Definition of the $MailFlagBit_ Message Keywords . . . . 4 3.1. Definition of the $MailFlagBit_ Message Keywords
3.2. Implementation Notes . . . . . . . . . . . . . . . . . . 5 3.2. Implementation Notes
4. Attachment Detection Keywords . . . . . . . . . . . . . . . . 5 4. Attachment Detection Keywords
4.1. $hasattachment . . . . . . . . . . . . . . . . . . . . . 5 4.1. $hasattachment
4.2. $hasnoattachment . . . . . . . . . . . . . . . . . . . . 6 4.2. $hasnoattachment
5. Memos Keywords . . . . . . . . . . . . . . . . . . . . . . . 6 5. Memos Keywords
5.1. $hasmemo . . . . . . . . . . . . . . . . . . . . . . . . 6 5.1. $hasmemo
5.2. $memo . . . . . . . . . . . . . . . . . . . . . . . . . . 7 5.2. $memo
6. Subscription Management Keywords . . . . . . . . . . . . . . 7 6. Subscription Management Keywords
6.1. $canunsubscribe . . . . . . . . . . . . . . . . . . . . . 7 6.1. $canunsubscribe
6.2. $unsubscribed . . . . . . . . . . . . . . . . . . . . . . 8 6.2. $unsubscribed
7. Other Message Keywords . . . . . . . . . . . . . . . . . . . 8 7. Other Message Keywords
7.1. $autosent . . . . . . . . . . . . . . . . . . . . . . . . 8 7.1. $autosent
7.2. $followed . . . . . . . . . . . . . . . . . . . . . . . . 9 7.2. $followed
7.3. $imported . . . . . . . . . . . . . . . . . . . . . . . . 9 7.3. $imported
7.4. $istrusted . . . . . . . . . . . . . . . . . . . . . . . 9 7.4. $istrusted
7.5. $maskedemail . . . . . . . . . . . . . . . . . . . . . . 10 7.5. $maskedemail
7.6. $muted . . . . . . . . . . . . . . . . . . . . . . . . . 10 7.6. $muted
7.7. $new . . . . . . . . . . . . . . . . . . . . . . . . . . 11 7.7. $new
7.8. $notify . . . . . . . . . . . . . . . . . . . . . . . . . 12 7.8. $notify
8. Mailbox Name Attributes . . . . . . . . . . . . . . . . . . . 12 8. Mailbox Name Attributes
8.1. Snoozed . . . . . . . . . . . . . . . . . . . . . . . . . 12 8.1. Snoozed
8.2. Scheduled . . . . . . . . . . . . . . . . . . . . . . . . 13 8.2. Scheduled
8.3. Memos . . . . . . . . . . . . . . . . . . . . . . . . . . 13 8.3. Memos
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14 9. IANA Considerations
9.1. IMAP/JMAP Keyword Registrations . . . . . . . . . . . . . 14 9.1. IMAP/JMAP Keyword Registrations
9.1.1. $autosent keyword registration . . . . . . . . . . . 14 9.1.1. $autosent Keyword Registration
9.1.2. $canunsubscribe keyword registration . . . . . . . . 14 9.1.2. $canunsubscribe Keyword Registration
9.1.3. $followed keyword registration . . . . . . . . . . . 14 9.1.3. $followed Keyword Registration
9.1.4. $hasattachment keyword registration . . . . . . . . . 15 9.1.4. $hasattachment Keyword Registration
9.1.5. $hasmemo keyword registration . . . . . . . . . . . . 15 9.1.5. $hasmemo Keyword Registration
9.1.6. $hasnoattachment keyword registration . . . . . . . . 16 9.1.6. $hasnoattachment Keyword Registration
9.1.7. $imported keyword registration . . . . . . . . . . . 16 9.1.7. $imported Keyword Registration
9.1.8. $istrusted keyword registration . . . . . . . . . . . 16 9.1.8. $istrusted Keyword Registration
9.1.9. $MailFlagBit0 keyword registration . . . . . . . . . 17 9.1.9. $MailFlagBit0 Keyword Registration
9.1.10. $MailFlagBit1 keyword registration . . . . . . . . . 17 9.1.10. $MailFlagBit1 Keyword Registration
9.1.11. $MailFlagBit2 keyword registration . . . . . . . . . 18 9.1.11. $MailFlagBit2 Keyword Registration
9.1.12. $maskedemail keyword registration . . . . . . . . . . 18 9.1.12. $maskedemail Keyword Registration
9.1.13. $memo keyword registration . . . . . . . . . . . . . 18 9.1.13. $memo Keyword Registration
9.1.14. $muted keyword registration . . . . . . . . . . . . . 19 9.1.14. $muted Keyword Registration
9.1.15. $new keyword registration . . . . . . . . . . . . . . 19 9.1.15. $new Keyword Registration
9.1.16. $notify keyword registration . . . . . . . . . . . . 20 9.1.16. $notify Keyword Registration
9.1.17. $unsubscribed keyword registration . . . . . . . . . 20 9.1.17. $unsubscribed Keyword Registration
9.2. IMAP Mailbox Name Attributes Registrations
9.2. IMAP Mailbox Name Attributes Registrations . . . . . . . 21 9.2.1. Snoozed Mailbox Name Attribute Registration
9.2.1. Snoozed mailbox name attribute registration . . . . . 21 9.2.2. Scheduled Mailbox Name Attribute Registration
9.2.2. Scheduled mailbox name attribute registration . . . . 21 9.2.3. Memos Mailbox Name Attribute Registration
9.2.3. Memos mailbox name attribute registration . . . . . . 21 10. Security Considerations
10. Security Considerations . . . . . . . . . . . . . . . . . . . 21 11. Normative References
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 21 Authors' Addresses
11.1. Normative References . . . . . . . . . . . . . . . . . . 22
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 22
1. Introduction 1. Introduction
The Internet Message Access Protocol (IMAP) specification [RFC9051] The Internet Message Access Protocol (IMAP) specification [RFC9051]
defines the use of message keywords, and an "IMAP and JMAP Keywords" defines the use of message keywords, and [RFC5788] describes the
registry is created in [RFC5788]. Similarly [RFC8457] creates an creation of the "IMAP and JMAP Keywords" registry. Similarly,
"IMAP Mailbox Name Attributes Registry". JMAP Mail [RFC8621] updated [RFC8457] describes the creation of the "IMAP Mailbox Name
these registries to apply to messages and mailboxes over the JMAP Attributes" registry. [RFC8621] updates these registries to apply to
protocol as well. messages and mailboxes over the JMAP as well.
This document defines 17 message keywords: This document defines 17 message keywords:
$autosent * $autosent
$canunsubscribe
$followed
$hasattachment
$hasmemo
$hasnoattachment
$imported
$istrusted
$MailFlagBit0
$MailFlagBit1
$MailFlagBit2
$maskedemail
$memo
$muted
$new
$notify
$unsubscribed
And defines 3 mailbox name attributes: * $canunsubscribe
Memos * $followed
Scheduled
Snoozed * $hasattachment
* $hasmemo
* $hasnoattachment
* $imported
* $istrusted
* $MailFlagBit0
* $MailFlagBit1
* $MailFlagBit2
* $maskedemail
* $memo
* $muted
* $new
* $notify
* $unsubscribed
And defines three mailbox name attributes:
* Memos
* Scheduled
* Snoozed
This document also registers these in the "IMAP and JMAP Keywords" This document also registers these in the "IMAP and JMAP Keywords"
registry and "IMAP Mailbox Name Attributes" registry. registry and "IMAP Mailbox Name Attributes" registry.
2. Requirements Language 2. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in
14 [RFC2119] [RFC8174] when, and only when, they appear in all BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
3. Flag Color Keywords 3. Flag Color Keywords
The Internet Message Access Protocol (IMAP) specification [RFC9051] The Internet Message Access Protocol (IMAP) specification [RFC9051]
defines a \Flagged system flag to mark a message for urgent/special defines a \Flagged system flag to mark a message as urgent / in need
attention. The new keywords defined in Section 3.1 allow such a of special attention. The new keywords defined in Section 3.1 allow
flagged message to have that flag be of one of 7 colors. such a flagged message to have that flag be of one of seven colors.
3.1. Definition of the $MailFlagBit_ Message Keywords 3.1. Definition of the $MailFlagBit_ Message Keywords
The 3 flag color keywords The three flag color keywords:
$MailFlagBit0 * $MailFlagBit0
$MailFlagBit1
$MailFlagBit2 * $MailFlagBit1
* $MailFlagBit2
make up a bit pattern that defines the color of the flag as such: make up a bit pattern that defines the color of the flag as such:
+=======+=======+=======+========+ +=======+=======+=======+========+
| Bit 0 | Bit 1 | Bit 2 | Color | | Bit 0 | Bit 1 | Bit 2 | Color |
+=======+=======+=======+========+ +=======+=======+=======+========+
| 0 | 0 | 0 | red | | 0 | 0 | 0 | red |
+-------+-------+-------+--------+ +-------+-------+-------+--------+
| 1 | 0 | 0 | orange | | 1 | 0 | 0 | orange |
+-------+-------+-------+--------+ +-------+-------+-------+--------+
skipping to change at page 4, line 51 skipping to change at line 209
| 0 | 0 | 1 | blue | | 0 | 0 | 1 | blue |
+-------+-------+-------+--------+ +-------+-------+-------+--------+
| 1 | 0 | 1 | purple | | 1 | 0 | 1 | purple |
+-------+-------+-------+--------+ +-------+-------+-------+--------+
| 0 | 1 | 1 | gray | | 0 | 1 | 1 | gray |
+-------+-------+-------+--------+ +-------+-------+-------+--------+
Table 1: Flag Colors Table 1: Flag Colors
Note that the bit combination 111 (all three bits set) is not Note that the bit combination 111 (all three bits set) is not
assigned a color, resulting in 7 distinct flag colors instead of 8 assigned a color, resulting in seven distinct flag colors instead of
possible combinations. eight possible combinations.
These flags MUST be ignored if the \Flagged system flag is not set. These flags MUST be ignored if the \Flagged system flag is not set.
If the \Flagged system flag is set, the flagged status MAY be If the \Flagged system flag is set, the flagged status MAY be
presented to the user in the color corresponding to the combination presented to the user in the color corresponding to the combination
of the 3 flag color keywords. of the three flag color keywords.
3.2. Implementation Notes 3.2. Implementation Notes
A mail client that is aware of these flag color keywords MUST clear A mail client that is aware of these flag color keywords MUST clear
all 3 flag color keywords when the user unflags the message, i.e. all three flag color keywords when the user unflags the message,
when clearing the \Flagged system flag, all 3 flag color keywords i.e., when clearing the \Flagged system flag, all three flag color
MUST also be cleared. keywords MUST also be cleared.
A mail client MUST NOT set any of these flags unless the \Flagged A mail client MUST NOT set any of these flags unless the \Flagged
system flag is already set or is being set. system flag is already set or is being set.
Servers MAY clear these flag color keywords when a client clears the Servers MAY clear these flag color keywords when a client clears the
\Flagged system flag. \Flagged system flag.
While these keywords are defined in terms of colors, clients SHOULD While these keywords are defined in terms of colors, clients SHOULD
provide alternatives for users who cannot perceive colors. This provide alternatives for users who cannot perceive colors. This
could include using different shapes, patterns, text labels, audio could include using different shapes, patterns, text labels, audio
skipping to change at page 5, line 44 skipping to change at line 251
message structure. This is particularly useful for displaying message structure. This is particularly useful for displaying
attachment indicators in message lists or implementing attachment- attachment indicators in message lists or implementing attachment-
based filtering. based filtering.
The $hasattachment and $hasnoattachment keywords are mutually The $hasattachment and $hasnoattachment keywords are mutually
exclusive. A message MUST NOT have both keywords set simultaneously. exclusive. A message MUST NOT have both keywords set simultaneously.
4.1. $hasattachment 4.1. $hasattachment
The $hasattachment keyword indicates that a message has one or more The $hasattachment keyword indicates that a message has one or more
attachments. It is set by the server during message delivery, or by attachments. It is set by the server during message delivery or by
the client (if neither $hasattachment nor $hasnoattachment are the client (if neither $hasattachment nor $hasnoattachment is
currently set). currently set).
This keyword enables clients to indicate attachments (e.g., paperclip This keyword enables clients to indicate attachments (e.g., paperclip
icons) in message lists without having to fetch the full MIME icons) in message lists without having to fetch the full MIME
structure for each message. It also facilitates attachment-based structure for each message. It also facilitates attachment-based
filtering and search operations. filtering and search operations.
When using JMAP, the "hasAttachment" Email property MUST reflect the When using JMAP, the "hasAttachment" Email property MUST reflect the
same information as this keyword for consistency across protocols. same information as this keyword for consistency across protocols.
4.2. $hasnoattachment 4.2. $hasnoattachment
The $hasnoattachment keyword explicitly indicates that a message does The $hasnoattachment keyword explicitly indicates that a message does
not have any attachments. It is set by the server during message not have any attachments. It is set by the server during message
delivery, or by the client (if neither $hasattachment nor delivery or by the client (if neither $hasattachment nor
$hasnoattachment are currently set). $hasnoattachment is currently set).
This keyword complements $hasattachment by providing definitive This keyword complements $hasattachment by providing definitive
information about messages that have been analyzed but found to information about messages that have been analyzed but found to
contain no attachments. The absence of $hasattachment alone is contain no attachments. The absence of $hasattachment alone is
inconclusive, as it might simply mean the message hasn't been inconclusive, as it might simply mean the message hasn't been
processed for attachment detection. processed for attachment detection.
This explicit distinction is important for clients that need to know This explicit distinction is important for clients that need to know
whether attachment detection has been performed on a message. When whether attachment detection has been performed on a message. When
using JMAP, the "hasAttachment" Email property MUST reflect the same using JMAP, the "hasAttachment" Email property MUST reflect the same
skipping to change at page 7, line 17 skipping to change at line 321
indicators in message lists to indicate which messages have memos, indicators in message lists to indicate which messages have memos,
and helps clients decide whether to fetch entire conversation threads and helps clients decide whether to fetch entire conversation threads
when loading a mailbox to ensure memos are properly presented. when loading a mailbox to ensure memos are properly presented.
5.2. $memo 5.2. $memo
The $memo keyword identifies a message as a note-to-self created by The $memo keyword identifies a message as a note-to-self created by
the user regarding another message in the same thread. It allows for the user regarding another message in the same thread. It allows for
contextual annotations to be added to conversations. contextual annotations to be added to conversations.
Messages with this keyword should be constructed similar to a reply Messages with this keyword should be constructed similarly to a reply
to the message being annotated, with appropriate Subject and Reply-To to the message being annotated, with appropriate Subject and Reply-To
headers set to maintain context and threading. Servers SHOULD store headers set to maintain context and threading. Servers SHOULD store
messages with this keyword in a mailbox with the "Memos" mailbox name messages with this keyword in a mailbox with the "Memos" mailbox name
attribute (see Section 9.2.3), if available. attribute (see Section 9.2.3), if available.
Supporting clients MUST present these messages differently from Supporting clients MUST present these messages differently from
regular emails. Rather than presenting them as standalone messages, regular emails. Rather than presenting them as standalone messages,
they MUST be presented as annotations attached to the message they're they MUST be presented as annotations attached to the message they're
commenting on. Clients may provide special UI affordances for commenting on. Clients may provide special UI affordances for
editing or deleting these memos, which typically requires replacing editing or deleting these memos, which typically requires replacing
skipping to change at page 7, line 43 skipping to change at line 347
6. Subscription Management Keywords 6. Subscription Management Keywords
The following keywords help clients manage mailing list The following keywords help clients manage mailing list
subscriptions. They provide mechanisms for tracking unsubscription subscriptions. They provide mechanisms for tracking unsubscription
attempts and identifying messages with valid unsubscribe options. attempts and identifying messages with valid unsubscribe options.
6.1. $canunsubscribe 6.1. $canunsubscribe
The $canunsubscribe keyword indicates that a message contains a The $canunsubscribe keyword indicates that a message contains a
valid, [RFC8058]-compliant List-Unsubscribe header that clients can valid, List-Unsubscribe header compliant with [RFC8058] that clients
use to provide one-click unsubscribe functionality. can use to provide one-click unsubscribe functionality.
This keyword is set by servers during message delivery when they This keyword is set by servers during message delivery when they
detect a valid List-Unsubscribe header and the message passes detect a valid List-Unsubscribe header and the message passes
implementation-specific reputation checks. This pre-verification is implementation-specific reputation checks. This pre-verification is
important, as not all List-Unsubscribe headers are trustworthy, and important, as not all List-Unsubscribe headers are trustworthy: some
some might lead to phishing sites or generate additional spam. might lead to phishing sites or generate additional spam.
The primary benefit of this keyword is efficiency--clients can know The primary benefit of this keyword is efficiency: clients can know
whether to offer unsubscribe functionality in their user interface whether to offer unsubscribe functionality in their user interface
without having to fetch and validate the List-Unsubscribe header for without having to fetch and validate the List-Unsubscribe header for
every message. It also provides an extra layer of safety since the every message. It also provides an extra layer of safety since the
server has already performed reputation checks on the unsubscribe server has already performed reputation checks on the unsubscribe
mechanism. mechanism.
6.2. $unsubscribed 6.2. $unsubscribed
The $unsubscribed keyword indicates that the user has attempted to The $unsubscribed keyword indicates that the user has attempted to
unsubscribe from the mailing list associated with a message. It unsubscribe from the mailing list associated with a message. It
skipping to change at page 8, line 30 skipping to change at line 381
from a mailing list, typically via a one-click List-Unsubscribe from a mailing list, typically via a one-click List-Unsubscribe
action as defined in [RFC8058]. It serves as a record that an action as defined in [RFC8058]. It serves as a record that an
unsubscription attempt has been made, even if confirmation of unsubscription attempt has been made, even if confirmation of
successful unsubscription hasn't been received. It MUST NOT be set successful unsubscription hasn't been received. It MUST NOT be set
if the unsubscription attempt definitely failed. if the unsubscription attempt definitely failed.
Supporting clients can use this to provide an indicator on messages Supporting clients can use this to provide an indicator on messages
with this keyword to remind the user they have previously attempted with this keyword to remind the user they have previously attempted
to unsubscribe from this sender or mailing list. This can be helpful to unsubscribe from this sender or mailing list. This can be helpful
when users revisit old messages and might otherwise attempt to when users revisit old messages and might otherwise attempt to
unsubscribe again, or when they receive additional messages despite unsubscribe again or when they receive additional messages despite
unsubscribing and need to take further action. unsubscribing and need to take further action.
7. Other Message Keywords 7. Other Message Keywords
7.1. $autosent 7.1. $autosent
The $autosent keyword identifies messages that were automatically The $autosent keyword identifies messages that were automatically
generated and sent by the system on behalf of the user, typically in generated and sent by the system on behalf of the user, typically in
response to user-defined filtering rules or settings. response to user-defined filtering rules or settings.
skipping to change at page 9, line 18 skipping to change at line 417
interested in future messages in a specific thread. This enables interested in future messages in a specific thread. This enables
special handling to ensure these messages receive appropriate special handling to ensure these messages receive appropriate
attention. attention.
When a new message arrives in a thread where this keyword is present, When a new message arrives in a thread where this keyword is present,
supporting servers MAY take actions to prioritize the message. This supporting servers MAY take actions to prioritize the message. This
could include ensuring it is available in the inbox regardless of could include ensuring it is available in the inbox regardless of
filtering rules that might otherwise affect it, automatically adding filtering rules that might otherwise affect it, automatically adding
the $notify keyword to ensure notifications, or applying other the $notify keyword to ensure notifications, or applying other
handling that increases its prominence. The specific actions taken handling that increases its prominence. The specific actions taken
and whether they can be configured by the user depends on the and whether they can be configured by the user depend on the
implementation. implementation.
Thread identification for this keyword follows the same definition as Thread identification for this keyword follows the same definition as
described in $muted. described in Section 7.6.
This keyword is set or cleared by clients based on user actions to This keyword is set or cleared by clients based on user actions to
follow or unfollow a thread. When unfollowing a thread, clients MUST follow or unfollow a thread. When unfollowing a thread, clients MUST
remove this keyword from all messages in the thread that have it. remove this keyword from all messages in the thread that have it.
The $followed keyword is mutually exclusive with the $muted keyword. The $followed keyword is mutually exclusive with the $muted keyword.
If both are present on messages in the same thread, servers MUST If both are present on messages in the same thread, servers MUST
treat the thread as followed rather than muted. treat the thread as followed rather than muted.
7.3. $imported 7.3. $imported
skipping to change at page 10, line 12 skipping to change at line 460
been verified by the server with a high degree of confidence. It been verified by the server with a high degree of confidence. It
provides an indication that the message is likely authentic. provides an indication that the message is likely authentic.
This advisory keyword is set by the server during message delivery This advisory keyword is set by the server during message delivery
when the authenticity of both the sender's name and email address can when the authenticity of both the sender's name and email address can
be verified with a high degree of confidence. This level of be verified with a high degree of confidence. This level of
verification typically applies to messages sent by the mailbox verification typically applies to messages sent by the mailbox
provider itself to its customers, where the provider has strong provider itself to its customers, where the provider has strong
evidence of the message's origin. evidence of the message's origin.
Supporting clients can provide a verification indicator (e.g., Supporting clients can provide a verification indicator (e.g., check
checkmark icon) for messages with this keyword, helping users mark icon) for messages with this keyword, helping users identify
identify legitimate communications from their service provider. This legitimate communications from their service provider. This is
is particularly important for distinguishing authentic provider particularly important for distinguishing authentic provider messages
messages from phishing attempts that impersonate the provider. from phishing attempts that impersonate the provider.
Servers MUST exercise caution when applying this keyword, as it Servers MUST exercise caution when applying this keyword, as it
conveys trust to the user. If misapplied, it could lead users to conveys trust to the user. If misapplied, it could lead users to
trust fraudulent messages. trust fraudulent messages.
It MUST NOT be used for messages that have only passed standard It MUST NOT be used for messages that have only passed standard
authentication mechanisms like SPF, DKIM, or DMARC. authentication mechanisms like Sender Policy Framework (SPF),
DomainKeys Identified Mail (DKIM), or Domain-based Message
Authentication, Reporting, and Conformance (DMARC).
7.5. $maskedemail 7.5. $maskedemail
The $maskedemail keyword indicates that a message was received The $maskedemail keyword indicates that a message was received
through a masked email address--an alias created specifically for through a masked email address -- an alias created specifically for
communications with a particular sender to protect the user's primary communications with a particular sender to protect the user's primary
email address. email address.
This advisory keyword is set by the server during message delivery on This advisory keyword is set by the server during message delivery on
messages that arrive via such aliases. These might be automatically messages that arrive via such aliases. These might be automatically
generated single-use addresses, service-specific addresses, or user- generated single-use addresses, service-specific addresses, or user-
created aliases for specific correspondents. created aliases for specific correspondents.
Supporting clients can provide an indicator (e.g., mask icon) for Supporting clients can provide an indicator (e.g., mask icon) for
messages with this keyword. This helps users understand that the messages with this keyword. This helps users understand that the
skipping to change at page 11, line 14 skipping to change at line 510
When a new message arrives that belongs to the same thread as one When a new message arrives that belongs to the same thread as one
marked with this keyword, supporting servers MAY automatically marked with this keyword, supporting servers MAY automatically
deprioritize the message. This could include moving it to an archive deprioritize the message. This could include moving it to an archive
or trash folder, marking it as read, or applying other handling that or trash folder, marking it as read, or applying other handling that
reduces its prominence. The specific actions taken and whether they reduces its prominence. The specific actions taken and whether they
can be configured by the user depends on the implementation. can be configured by the user depends on the implementation.
For thread identification purposes, messages are considered part of For thread identification purposes, messages are considered part of
the same thread when they share the same thread identifier as defined the same thread when they share the same thread identifier as defined
in [RFC8474] Section 5.2 for IMAP or [RFC8621], Section 3 for JMAP. in Section 5.2 of [RFC8474] for IMAP or Section 3 of [RFC8621] for
This definition applies to all thread-related keywords in this JMAP. This definition applies to all thread-related keywords in this
document. document.
This keyword is set or cleared by clients based on user actions to This keyword is set or cleared by clients based on user actions to
mute or unmute a thread. When unmuting a thread, clients MUST remove mute or unmute a thread. When unmuting a thread, clients MUST remove
this keyword from all messages in the thread that have it. The this keyword from all messages in the thread that have it. The
$muted keyword is mutually exclusive with the $followed keyword. If $muted keyword is mutually exclusive with the $followed keyword. If
both are present on messages in the same thread, both servers and both are present on messages in the same thread, both servers and
clients MUST treat the thread as followed rather than muted. clients MUST treat the thread as followed rather than muted.
Implementers should note the security considerations in the IANA Implementers should note the security considerations in the IANA
skipping to change at page 11, line 39 skipping to change at line 535
allow many other similar actions. allow many other similar actions.
7.7. $new 7.7. $new
The $new keyword indicates that a message should be emphasized or The $new keyword indicates that a message should be emphasized or
made more prominent to the user due to a recent system action, even made more prominent to the user due to a recent system action, even
if the message itself is not new. if the message itself is not new.
This advisory keyword is typically set by servers when a previously This advisory keyword is typically set by servers when a previously
snoozed message "awakens" and returns to the inbox after its snooze snoozed message "awakens" and returns to the inbox after its snooze
period has elapsed. It signals to clients that although this message period has elapsed. It signals to clients that, although this
might have an older date, it should be treated as effectively new in message might have an older date, it should be treated as effectively
terms of user attention. new in terms of user attention.
Supporting clients can present these messages with special treatment Supporting clients can present these messages with special treatment
to draw user attention, such as emphasizing, bolding, or placing them to draw user attention, such as emphasizing, bolding, or placing them
at the top of the message list, even if strict date sorting would at the top of the message list, even if strict date sorting would
place them elsewhere. place them elsewhere.
Clients MUST clear this keyword when the user interacts with the Clients MUST clear this keyword when the user interacts with the
message, such as by opening, replying to, or otherwise acknowledging message, such as by opening, replying to, or otherwise acknowledging
it. This prevents the message from remaining emphasized indefinitely it. This prevents the message from remaining emphasized indefinitely
after the user has accessed it. after the user has accessed it.
skipping to change at page 12, line 38 skipping to change at line 582
notification. notification.
8. Mailbox Name Attributes 8. Mailbox Name Attributes
8.1. Snoozed 8.1. Snoozed
The Snoozed mailbox name attribute identifies a mailbox that is used The Snoozed mailbox name attribute identifies a mailbox that is used
to store messages that have been temporarily removed from the user's to store messages that have been temporarily removed from the user's
attention and scheduled to reappear at a later time. attention and scheduled to reappear at a later time.
When a user chooses to "snooze" a message, the supporting server will When a user chooses to "snooze" a message, the supporting server
move the message to a mailbox with this attribute. At the specified moves the message to a mailbox with this attribute. At the specified
"awaken" time, the server will automatically move the message back to "awaken" time, the server automatically moves the message back to its
its original location (typically the inbox) and may mark it with the original location (typically the inbox) and may mark it with the $new
$new keyword to ensure it receives proper attention. keyword to ensure it receives proper attention.
This attribute standardizes the location of snoozed messages across This attribute standardizes the location of snoozed messages across
clients, allowing them to identify and manage snoozed messages clients, allowing them to identify and manage snoozed messages
consistently. However, this attribute merely identifies the storage consistently. However, this attribute merely identifies the storage
location for snoozed messages and does not itself define the snoozing location for snoozed messages and does not itself define the snoozing
mechanism or interface. mechanism or interface.
Supporting clients may present the contents of this mailbox Supporting clients may present the contents of this mailbox
differently from regular mailboxes, such as organizing messages by differently from regular mailboxes, such as organizing messages by
their scheduled "awaken" time rather than received date, or providing their scheduled "awaken" time rather than received date or providing
specialized interfaces for adjusting the snooze duration. specialized interfaces for adjusting the snooze duration.
8.2. Scheduled 8.2. Scheduled
The Scheduled mailbox name attribute identifies a mailbox that The Scheduled mailbox name attribute identifies a mailbox that
contains messages that have been composed but are scheduled to be contains messages that have been composed but are scheduled to be
sent at a future time rather than immediately. sent at a future time rather than immediately.
When a user composes a message and chooses to send it at a later date When a user composes a message and chooses to send it at a later date
or time, the supporting server will store the message in a mailbox or time, the supporting server stores the message in a mailbox with
with this attribute until the scheduled sending time. Once that time this attribute until the scheduled sending time. Once that time is
is reached, the server will send the message and typically move it to reached, the server sends the message and typically moves it to the
the \Sent mailbox or delete it according to server policy. \Sent mailbox or delete it according to server policy.
This attribute standardizes the location of scheduled messages across This attribute standardizes the location of scheduled messages across
clients, enabling users to review, edit, or cancel scheduled messages clients, enabling users to review, edit, or cancel scheduled messages
before they are sent, regardless of which client was used to schedule before they are sent, regardless of which client was used to schedule
them. them.
Supporting clients may present the contents of this mailbox in a way Supporting clients may present the contents of this mailbox in a way
that highlights the scheduled sending time and allow users to modify that highlights the scheduled sending time and allows users to modify
or cancel scheduled messages before they are sent. or cancel scheduled messages before they are sent.
8.3. Memos 8.3. Memos
The Memos mailbox name attribute identifies a mailbox designated for The Memos mailbox name attribute identifies a mailbox designated for
storing messages that have the $memo keyword. These messages are storing messages that have the $memo keyword. These messages are
user-created notes or annotations related to other messages. user-created notes or annotations related to other messages.
When a user creates a memo (a note-to-self regarding another When a user creates a memo (a note-to-self regarding another
message), clients SHOULD store these messages in a mailbox with this message), clients SHOULD store these messages in a mailbox with this
attribute. This separation allows clients to handle memos attribute. This separation allows clients to handle memos
differently from regular messages, presenting them as annotations differently from regular messages, presenting them as annotations
rather than standalone communications. rather than standalone communications.
Storing memos in a designated mailbox helps prevent them from Storing memos in a designated mailbox helps prevent them from
cluttering the user's inbox or other message folders, while still cluttering the user's inbox or other message folders, while still
maintaining them as proper email messages for compatibility and maintaining them as proper email messages for compatibility and
synchronization purposes. synchronization purposes.
Supporting clients MUST NOT present the contents of this mailbox as Supporting clients MUST NOT present the contents of this mailbox as
regular messages in their interface, but instead MUST present them regular messages in their interface; instead, they MUST present them
contextually alongside the messages they annotate when those messages contextually alongside the messages they annotate when those messages
are accessed. are accessed.
9. IANA Considerations 9. IANA Considerations
The following 17 IMAP/JMAP keywords are registered in the _IMAP and The following 17 IMAP/JMAP keywords have been registered in the "IMAP
JMAP Keywords_ registry, as established in [RFC5788]. and JMAP Keywords" registry, as established in [RFC5788].
9.1. IMAP/JMAP Keyword Registrations 9.1. IMAP/JMAP Keyword Registrations
9.1.1. $autosent keyword registration 9.1.1. $autosent Keyword Registration
IMAP/JMAP keyword name: $autosent IMAP/JMAP keyword name: $autosent
Purpose: Indicate to the client that a message was sent Purpose: Indicate to the client that a message was sent
automatically as a response due to a user rule or setting. automatically as a response due to a user rule or setting.
Private or Shared on a server: SHARED Private or Shared on a server: SHARED
Is it an advisory keyword or may it cause an automatic action: This Is it an advisory keyword or may it cause an automatic action: This
keyword is advisory. keyword is advisory.
When/by whom the keyword is set/cleared: This keyword is set by the When/by whom the keyword is set/cleared: This keyword is set by the
server on delivery. server on delivery.
Related keywords: None Related keywords: None
Related IMAP capabilities: None Related IMAP capabilities: None
Security considerations: None Security considerations: None
Published specification: This document
Published specification: RFC 9979
Intended usage: COMMON Intended usage: COMMON
Scope: BOTH Scope: BOTH
Owner/Change controller: IESG Owner/Change controller: IESG
9.1.2. $canunsubscribe keyword registration 9.1.2. $canunsubscribe Keyword Registration
IMAP/JMAP keyword name: $canunsubscribe IMAP/JMAP keyword name: $canunsubscribe
Purpose: Indicate to the client that this message has an [RFC8058]-
compliant List-Unsubscribe header. Purpose: Indicate to the client that this message has a List-
Unsubscribe header that is compliant with [RFC8058].
Private or Shared on a server: SHARED Private or Shared on a server: SHARED
Is it an advisory keyword or may it cause an automatic action: This Is it an advisory keyword or may it cause an automatic action: This
keyword is advisory. keyword is advisory.
When/by whom the keyword is set/cleared: This keyword is set by the When/by whom the keyword is set/cleared: This keyword is set by the
server on delivery. server on delivery.
Related keywords: None Related keywords: None
Related IMAP capabilities: None Related IMAP capabilities: None
Security considerations: None Security considerations: None
Published specification: This document
Published specification: RFC 9979
Intended usage: COMMON Intended usage: COMMON
Scope: BOTH Scope: BOTH
Owner/Change controller: IESG Owner/Change controller: IESG
9.1.3. $followed keyword registration 9.1.3. $followed Keyword Registration
IMAP/JMAP keyword name: $followed IMAP/JMAP keyword name: $followed
Purpose: Indicate to the server that the user is particularly Purpose: Indicate to the server that the user is particularly
interested in future replies to a particular thread. interested in future replies to a particular thread.
Private or Shared on a server: SHARED Private or Shared on a server: SHARED
Is it an advisory keyword or may it cause an automatic action: This Is it an advisory keyword or may it cause an automatic action: This
keyword can cause automatic action. keyword can cause automatic action.
When/by whom the keyword is set/cleared: This keyword is set and When/by whom the keyword is set/cleared: This keyword is set and
cleared by the client. cleared by the client.
Related keywords: Mutually exclusive with $muted. If both are Related keywords: Mutually exclusive with $muted. If both are
specified on a thread, servers MUST behave as though only specified on a thread, servers MUST behave as though only
$followed were set. $followed were set.
Related IMAP capabilities: None Related IMAP capabilities: None
Security considerations: None Security considerations: None
Published specification: This document
Published specification: RFC 9979
Intended usage: COMMON Intended usage: COMMON
Scope: BOTH Scope: BOTH
Owner/Change controller: IESG Owner/Change controller: IESG
9.1.4. $hasattachment keyword registration 9.1.4. $hasattachment Keyword Registration
IMAP/JMAP keyword name: $hasattachment IMAP/JMAP keyword name: $hasattachment
Purpose: Indicate to the client that a message has an attachment. Purpose: Indicate to the client that a message has an attachment.
Private or Shared on a server: SHARED Private or Shared on a server: SHARED
Is it an advisory keyword or may it cause an automatic action: This Is it an advisory keyword or may it cause an automatic action: This
keyword is advisory. keyword is advisory.
When/by whom the keyword is set/cleared: It is set by the server When/by whom the keyword is set/cleared: It is set by the server
during message delivery, or by the client (if neither during message delivery or by the client (if neither
$hasattachment nor $hasnoattachment are currently set). $hasattachment nor $hasnoattachment is currently set).
Related keywords: $hasnoattachment Related keywords: $hasnoattachment
Related IMAP capabilities: None Related IMAP capabilities: None
Security considerations: None Security considerations: None
Published specification: This document
Published specification: RFC 9979
Intended usage: COMMON Intended usage: COMMON
Scope: BOTH Scope: BOTH
Owner/Change controller: IESG Owner/Change controller: IESG
9.1.5. $hasmemo keyword registration 9.1.5. $hasmemo Keyword Registration
IMAP/JMAP keyword name: $hasmemo IMAP/JMAP keyword name: $hasmemo
Purpose: Indicate to the client that a message has an associated Purpose: Indicate to the client that a message has an associated
memo with the $memo keyword. memo with the $memo keyword.
Private or Shared on a server: SHARED Private or Shared on a server: SHARED
Is it an advisory keyword or may it cause an automatic action: This Is it an advisory keyword or may it cause an automatic action: This
keyword is advisory. keyword is advisory.
When/by whom the keyword is set/cleared: This keyword is set and When/by whom the keyword is set/cleared: This keyword is set and
cleared by the client based on user interaction. cleared by the client based on user interaction.
Related keywords: The $memo and $hasmemo keywords are mutually Related keywords: The $memo and $hasmemo keywords are mutually
exclusive. exclusive.
Related IMAP capabilities: None Related IMAP capabilities: None
Security considerations: None Security considerations: None
Published specification: This document
Published specification: RFC 9979
Intended usage: COMMON Intended usage: COMMON
Scope: BOTH Scope: BOTH
Owner/Change controller: IESG Owner/Change controller: IESG
9.1.6. $hasnoattachment keyword registration 9.1.6. $hasnoattachment Keyword Registration
IMAP/JMAP keyword name: $hasnoattachment IMAP/JMAP keyword name: $hasnoattachment
Purpose: Indicate to the client that a message does not have an Purpose: Indicate to the client that a message does not have an
attachment. attachment.
Private or Shared on a server: SHARED Private or Shared on a server: SHARED
Is it an advisory keyword or may it cause an automatic action: This Is it an advisory keyword or may it cause an automatic action: This
keyword is advisory. keyword is advisory.
When/by whom the keyword is set/cleared: It is set by the server When/by whom the keyword is set/cleared: It is set by the server
during message delivery, or by the client (if neither during message delivery, or by the client (if neither
$hasattachment nor $hasnoattachment are currently set). $hasattachment nor $hasnoattachment is currently set).
Related keywords: None Related keywords: None
Related IMAP capabilities: None Related IMAP capabilities: None
Security considerations: None Security considerations: None
Published specification: This document
Published specification: RFC 9979
Intended usage: COMMON Intended usage: COMMON
Scope: BOTH Scope: BOTH
Owner/Change controller: IESG Owner/Change controller: IESG
9.1.7. $imported keyword registration 9.1.7. $imported Keyword Registration
IMAP/JMAP keyword name: $imported IMAP/JMAP keyword name: $imported
Purpose: Indicate to the client that this message was imported from Purpose: Indicate to the client that this message was imported from
another mailbox. another mailbox.
Private or Shared on a server: SHARED Private or Shared on a server: SHARED
Is it an advisory keyword or may it cause an automatic action: This Is it an advisory keyword or may it cause an automatic action: This
keyword is advisory. keyword is advisory.
When/by whom the keyword is set/cleared: This keyword is set by the When/by whom the keyword is set/cleared: This keyword is set by the
server on delivery. server on delivery.
Related keywords: None Related keywords: None
Related IMAP capabilities: None Related IMAP capabilities: None
Security considerations: None Security considerations: None
Published specification: This document
Published specification: RFC 9979
Intended usage: COMMON Intended usage: COMMON
Scope: BOTH Scope: BOTH
Owner/Change controller: IESG Owner/Change controller: IESG
9.1.8. $istrusted keyword registration 9.1.8. $istrusted Keyword Registration
IMAP/JMAP keyword name: $istrusted IMAP/JMAP keyword name: $istrusted
Purpose: Indicate to the client that the authenticity of the from Purpose: Indicate to the client that the authenticity of the from
name and email address have been verified by the server. name and email address have been verified by the server.
Private or Shared on a server: SHARED Private or Shared on a server: SHARED
Is it an advisory keyword or may it cause an automatic action: This Is it an advisory keyword or may it cause an automatic action: This
keyword is advisory. keyword is advisory.
When/by whom the keyword is set/cleared: This keyword is set by the When/by whom the keyword is set/cleared: This keyword is set by the
server on delivery. server on delivery.
Related keywords: None Related keywords: None
Related IMAP capabilities: None Related IMAP capabilities: None
Security considerations: Servers should make sure this keyword is Security considerations: Servers should make sure this keyword is
only set for messages that really are trusted. only set for messages that really are trusted.
Published specification: This document
Published specification: RFC 9979
Intended usage: COMMON Intended usage: COMMON
Scope: BOTH Scope: BOTH
Owner/Change controller: IESG Owner/Change controller: IESG
9.1.9. $MailFlagBit0 keyword registration 9.1.9. $MailFlagBit0 Keyword Registration
IMAP/JMAP keyword name: $MailFlagBit0 IMAP/JMAP keyword name: $MailFlagBit0
Purpose: Bit 0 part of a 3-bit bitmask that defines the color of the Purpose: Bit 0 part of a 3-bit bitmask that defines the color of the
flag when the message has the system flag \Flagged set. See flag when the message has the system flag \Flagged set. See
Section 3 for details. Section 3 for details.
Private or Shared on a server: SHARED Private or Shared on a server: SHARED
Is it an advisory keyword or may it cause an automatic action: No Is it an advisory keyword or may it cause an automatic action: No
When/by whom the keyword is set/cleared: This keyword is set by a When/by whom the keyword is set/cleared: This keyword is set by a
client as the result of a user action to "flag" a message for client as the result of a user action to "flag" a message as
urgent/special attention. urgent / in need of special attention.
Related keywords: $MailFlagBit1, $MailFlagBit2 Related keywords: $MailFlagBit1, $MailFlagBit2
Related IMAP capabilities: None Related IMAP capabilities: None
Security considerations: None Security considerations: None
Published specification: This document
Published specification: RFC 9979
Intended usage: COMMON Intended usage: COMMON
Scope: BOTH Scope: BOTH
Owner/Change controller: IESG Owner/Change controller: IESG
9.1.10. $MailFlagBit1 keyword registration 9.1.10. $MailFlagBit1 Keyword Registration
IMAP/JMAP keyword name: $MailFlagBit1 IMAP/JMAP keyword name: $MailFlagBit1
Purpose: Bit 1 part of a 3-bit bitmask that defines the color of the Purpose: Bit 1 part of a 3-bit bitmask that defines the color of the
flag when the message has the system flag \Flagged set. See flag when the message has the system flag \Flagged set. See
Section 3 for details. Section 3 for details.
Private or Shared on a server: SHARED Private or Shared on a server: SHARED
Is it an advisory keyword or may it cause an automatic action: No Is it an advisory keyword or may it cause an automatic action: No
When/by whom the keyword is set/cleared: This keyword is set by a When/by whom the keyword is set/cleared: This keyword is set by a
client as the result of a user action to "flag" a message for client as the result of a user action to "flag" a message as
urgent/special attention. urgent / in need of special attention.
Related keywords: $MailFlagBit0, $MailFlagBit2 Related keywords: $MailFlagBit0, $MailFlagBit2
Related IMAP capabilities: None Related IMAP capabilities: None
Security considerations: None Security considerations: None
Published specification: This document
Published specification: RFC 9979
Intended usage: COMMON Intended usage: COMMON
Scope: BOTH Scope: BOTH
Owner/Change controller: IESG Owner/Change controller: IESG
9.1.11. $MailFlagBit2 keyword registration 9.1.11. $MailFlagBit2 Keyword Registration
IMAP/JMAP keyword name: $MailFlagBit2 IMAP/JMAP keyword name: $MailFlagBit2
Purpose: Bit 2 part of a 3-bit bitmask that defines the color of the Purpose: Bit 2 part of a 3-bit bitmask that defines the color of the
flag when the message has the system flag \Flagged set. See flag when the message has the system flag \Flagged set. See
Section 3 for details. Section 3 for details.
Private or Shared on a server: SHARED Private or Shared on a server: SHARED
Is it an advisory keyword or may it cause an automatic action: No Is it an advisory keyword or may it cause an automatic action: No
When/by whom the keyword is set/cleared: This keyword is set by a When/by whom the keyword is set/cleared: This keyword is set by a
client as the result of a user action to "flag" a message for client as the result of a user action to "flag" a message as
urgent/special attention. urgent / in need of special attention.
Related keywords: $MailFlagBit0, $MailFlagBit1 Related keywords: $MailFlagBit0, $MailFlagBit1
Related IMAP capabilities: None Related IMAP capabilities: None
Security considerations: None Security considerations: None
Published specification: This document
Published specification: RFC 9979
Intended usage: COMMON Intended usage: COMMON
Scope: BOTH Scope: BOTH
Owner/Change controller: IESG Owner/Change controller: IESG
9.1.12. $maskedemail keyword registration 9.1.12. $maskedemail Keyword Registration
IMAP/JMAP keyword name: $maskedemail IMAP/JMAP keyword name: $maskedemail
Purpose: Indicate to the client that the message was received via an Purpose: Indicate to the client that the message was received via an
alias created for an individual sender. alias created for an individual sender.
Private or Shared on a server: SHARED Private or Shared on a server: SHARED
Is it an advisory keyword or may it cause an automatic action: This Is it an advisory keyword or may it cause an automatic action: This
keyword is advisory. keyword is advisory.
When/by whom the keyword is set/cleared: This keyword is set by the When/by whom the keyword is set/cleared: This keyword is set by the
server on delivery. server on delivery.
Related keywords: None Related keywords: None
Related IMAP capabilities: None Related IMAP capabilities: None
Security considerations: None Security considerations: None
Published specification: This document
Published specification: RFC 9979
Intended usage: LIMITED Intended usage: LIMITED
Scope: BOTH Scope: BOTH
Owner/Change controller: IESG Owner/Change controller: IESG
9.1.13. $memo keyword registration 9.1.13. $memo Keyword Registration
IMAP/JMAP keyword name: $memo IMAP/JMAP keyword name: $memo
Purpose: Indicate to the client that a message is a note-to-self Purpose: Indicate to the client that a message is a note-to-self
from the user regarding another message in the same thread. from the user regarding another message in the same thread.
Private or Shared on a server: SHARED Private or Shared on a server: SHARED
Is it an advisory keyword or may it cause an automatic action: This Is it an advisory keyword or may it cause an automatic action: This
keyword is advisory. keyword is advisory.
When/by whom the keyword is set/cleared: This keyword is set and When/by whom the keyword is set/cleared: This keyword is set and
cleared by the client based on user interaction. cleared by the client based on user interaction.
Related keywords: The $memo and $hasmemo keywords are mutually Related keywords: The $memo and $hasmemo keywords are mutually
exclusive. exclusive.
Related IMAP capabilities: None Related IMAP capabilities: None
Security considerations: None Security considerations: None
Published specification: This document
Published specification: RFC 9979
Intended usage: COMMON Intended usage: COMMON
Scope: BOTH Scope: BOTH
Owner/Change controller: IESG Owner/Change controller: IESG
9.1.14. $muted keyword registration 9.1.14. $muted Keyword Registration
IMAP/JMAP keyword name: $muted IMAP/JMAP keyword name: $muted
Purpose: Indicate to the server that the user is not interested in Purpose: Indicate to the server that the user is not interested in
future replies to a particular thread. future replies to a particular thread.
Private or Shared on a server: SHARED Private or Shared on a server: SHARED
Is it an advisory keyword or may it cause an automatic action: This Is it an advisory keyword or may it cause an automatic action: This
keyword can cause an automatic action. keyword can cause an automatic action.
When/by whom the keyword is set/cleared: This keyword is set and When/by whom the keyword is set/cleared: This keyword is set and
cleared by the client. cleared by the client.
Related keywords: Mutually exclusive with $followed. If both are Related keywords: Mutually exclusive with $followed. If both are
specified on a thread, servers MUST behave as though only specified on a thread, servers MUST behave as though only
$followed were set. $followed were set.
Related IMAP capabilities: None Related IMAP capabilities: None
Security considerations: Muting a thread can mean a user won't be Security considerations: Muting a thread can mean a user won't be
notified of a reply. If someone compromises a user's account, notified of a reply. If someone compromises a user's account,
they may mute threads where they don't want the user to be they may mute threads where they don't want the user to be
notified of the reply, for example when sending phishing to the notified of the reply, for example, when sending phishing to the
user's contacts. There are many other ways an attacker with user's contacts. However, there are many other ways an attacker
access to the user's mailbox can also achieve this however, so with access to the user's mailbox can also achieve this, so this
this is not greatly increasing the attack surface. When restoring is not greatly increasing the attack surface. When restoring
legitimate access to a stolen account, care must be taken to find legitimate access to a stolen account, care must be taken to find
and confirm/revert mute actions that may have been taken by the and confirm or revert mute actions that may have been taken by the
attacker. attacker.
Published specification: This document
Published specification: RFC 9979
Intended usage: COMMON Intended usage: COMMON
Scope: BOTH Scope: BOTH
Owner/Change controller: IESG Owner/Change controller: IESG
9.1.15. $new keyword registration 9.1.15. $new Keyword Registration
IMAP/JMAP keyword name: $new IMAP/JMAP keyword name: $new
Purpose: Indicate to the client that a message should be made more Purpose: Indicate to the client that a message should be made more
prominent to the user due to a recent action. prominent to the user due to a recent action.
Private or Shared on a server: SHARED Private or Shared on a server: SHARED
Is it an advisory keyword or may it cause an automatic action: This Is it an advisory keyword or may it cause an automatic action: This
keyword is advisory. keyword is advisory.
When/by whom the keyword is set/cleared: This keyword is set by the When/by whom the keyword is set/cleared: This keyword is set by the
server. Clients can clear the keyword based on user interaction. server. Clients can clear the keyword based on user interaction.
Related keywords: None Related keywords: None
Related IMAP capabilities: None Related IMAP capabilities: None
Security considerations: None Security considerations: None
Published specification: This document
Published specification: RFC 9979
Intended usage: LIMITED Intended usage: LIMITED
Scope: BOTH Scope: BOTH
Owner/Change controller: IESG Owner/Change controller: IESG
9.1.16. $notify keyword registration 9.1.16. $notify Keyword Registration
IMAP/JMAP keyword name: $notify IMAP/JMAP keyword name: $notify
Purpose: Indicate to the client that a notification should be Purpose: Indicate to the client that a notification should be
presented for this message. presented for this message.
Private or Shared on a server: SHARED Private or Shared on a server: SHARED
Is it an advisory keyword or may it cause an automatic action: This Is it an advisory keyword or may it cause an automatic action: This
keyword can cause an automatic action. keyword can cause an automatic action.
When/by whom the keyword is set/cleared: This keyword is set by the When/by whom the keyword is set/cleared: This keyword is set by the
server on delivery when a message meets certain criteria. It may server on delivery when a message meets certain criteria. It may
be cleared by a client when the user interacts with the message. be cleared by a client when the user interacts with the message.
Related keywords: None Related keywords: None
Related IMAP capabilities: None Related IMAP capabilities: None
Security considerations: None Security considerations: None
Published specification: This document
Published specification: RFC 9979
Intended usage: COMMON Intended usage: COMMON
Scope: BOTH Scope: BOTH
Owner/Change controller: IESG Owner/Change controller: IESG
9.1.17. $unsubscribed keyword registration 9.1.17. $unsubscribed Keyword Registration
IMAP/JMAP keyword name: $unsubscribed IMAP/JMAP keyword name: $unsubscribed
Purpose: Indicate the client has attempted to unsubscribe from the Purpose: Indicate the client has attempted to unsubscribe from the
mailing list this message is from. mailing list this message is from.
Private or Shared on a server: SHARED Private or Shared on a server: SHARED
Is it an advisory keyword or may it cause an automatic action: This Is it an advisory keyword or may it cause an automatic action: This
keyword is advisory. keyword is advisory.
When/by whom the keyword is set/cleared: This keyword is set by the When/by whom the keyword is set/cleared: This keyword is set by the
client based on user interaction. client based on user interaction.
Related keywords: None Related keywords: None
Related IMAP capabilities: None Related IMAP capabilities: None
Security considerations: None Security considerations: None
Published specification: This document
Published specification: RFC 9979
Intended usage: COMMON Intended usage: COMMON
Scope: BOTH Scope: BOTH
Owner/Change controller: IESG Owner/Change controller: IESG
9.2. IMAP Mailbox Name Attributes Registrations 9.2. IMAP Mailbox Name Attributes Registrations
The following 3 IMAP/JMAP mailbox name attributes are registered in The following three IMAP/JMAP mailbox name attributes have been
the IMAP Mailbox Name Attributes Registry, as established in registered in the "IMAP Mailbox Name Attributes" registry, as
[RFC8457]. established by [RFC8457].
Note that none of the attributes in this section have an implied Note that none of the attributes in this section have an implied
backslash. This sets them apart from those specified in Section 2 of backslash. This sets them apart from those specified in Section 2 of
[RFC6154]. [RFC6154].
9.2.1. Snoozed mailbox name attribute registration 9.2.1. Snoozed Mailbox Name Attribute Registration
Attribute Name: Snoozed Attribute Name: Snoozed
Description: Identifies the mailbox where temporarily snoozed Description: Identifies the mailbox where temporarily snoozed
messages are stored. messages are stored.
Reference: This document.
9.2.2. Scheduled mailbox name attribute registration Reference: RFC 9979
9.2.2. Scheduled Mailbox Name Attribute Registration
Attribute Name: Scheduled Attribute Name: Scheduled
Description: Identifies the mailbox where messages scheduled to be Description: Identifies the mailbox where messages scheduled to be
sent at a later time are stored. sent at a later time are stored.
Reference: This document.
9.2.3. Memos mailbox name attribute registration Reference: RFC 9979
9.2.3. Memos Mailbox Name Attribute Registration
Attribute Name: Memos Attribute Name: Memos
Description: Identifies the mailbox where user-created memo messages Description: Identifies the mailbox where user-created memo messages
are stored. are stored.
Reference: This document.
Reference: RFC 9979
10. Security Considerations 10. Security Considerations
The security considerations for the $istrusted and $muted keywords The security considerations for the $istrusted and $muted keywords
are described in Section 9.1.8, Section 7.4, and Section 9.1.14 are described in Sections 9.1.8, 7.4, and 9.1.14, respectively.
respectively.
The use and interpretation of the keywords and mailbox name The use and interpretation of the keywords and mailbox name
attributes defined in this document depend on the client's and user's attributes defined in this document depend on the client's and user's
ability to trust the IMAP server. Clients should be aware that a ability to trust the IMAP server. Clients should be aware that a
compromised or malicious server could set these keywords incorrectly compromised or malicious server could set these keywords incorrectly
or manipulate them to mislead users. For additional security or manipulate them to mislead users. For additional security
considerations related to IMAP, refer to [RFC9051]. considerations related to IMAP, refer to [RFC9051].
Besides that this document should not affect the security of the Otherwise, this document should not affect the security of the
Internet. Internet.
11. References 11. Normative References
11.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC5788] Melnikov, A. and D. Cridland, "IMAP4 Keyword Registry", [RFC5788] Melnikov, A. and D. Cridland, "IMAP4 Keyword Registry",
RFC 5788, DOI 10.17487/RFC5788, March 2010, RFC 5788, DOI 10.17487/RFC5788, March 2010,
<https://www.rfc-editor.org/info/rfc5788>. <https://www.rfc-editor.org/info/rfc5788>.
skipping to change at page 23, line 4 skipping to change at line 1258
[RFC8621] Jenkins, N. and C. Newman, "The JSON Meta Application [RFC8621] Jenkins, N. and C. Newman, "The JSON Meta Application
Protocol (JMAP) for Mail", RFC 8621, DOI 10.17487/RFC8621, Protocol (JMAP) for Mail", RFC 8621, DOI 10.17487/RFC8621,
August 2019, <https://www.rfc-editor.org/info/rfc8621>. August 2019, <https://www.rfc-editor.org/info/rfc8621>.
[RFC9051] Melnikov, A., Ed. and B. Leiba, Ed., "Internet Message [RFC9051] Melnikov, A., Ed. and B. Leiba, Ed., "Internet Message
Access Protocol (IMAP) - Version 4rev2", RFC 9051, Access Protocol (IMAP) - Version 4rev2", RFC 9051,
DOI 10.17487/RFC9051, August 2021, DOI 10.17487/RFC9051, August 2021,
<https://www.rfc-editor.org/info/rfc9051>. <https://www.rfc-editor.org/info/rfc9051>.
Authors' Addresses Authors' Addresses
Neil Jenkins Neil Jenkins
Fastmail Fastmail
PO Box 234, Collins St West PO Box 234, Collins St West
Melbourne VIC 8007 Melbourne VIC 8007
Australia Australia
Email: neilj@fastmailteam.com Email: neilj@fastmailteam.com
URI: https://www.fastmail.com URI: https://www.fastmail.com
Daniel Eggert Daniel Eggert
Apple Inc Apple, Inc
One Apple Park Way One Apple Park Way
Cupertino, CA 95014 Cupertino, CA 95014
United States of America United States of America
Email: deggert@apple.com Email: deggert@apple.com
URI: https://www.apple.com URI: https://www.apple.com
 End of changes. 241 change blocks. 
227 lines changed or deleted 437 lines changed or added

This html diff was produced by rfcdiff 1.48.