+896
spec/draft-ietf-mailmaint-messageflag-mailboxattribute-02.txt
+896
spec/draft-ietf-mailmaint-messageflag-mailboxattribute-02.txt
···
1
+
2
+
3
+
4
+
5
+
MailMaint N.M. Jenkins, Ed.
6
+
Internet-Draft Fastmail
7
+
Intended status: Informational D. Eggert, Ed.
8
+
Expires: 21 August 2025 Apple Inc
9
+
17 February 2025
10
+
11
+
12
+
Registration of further IMAP/JMAP keywords and mailbox attribute names
13
+
draft-ietf-mailmaint-messageflag-mailboxattribute-02
14
+
15
+
Abstract
16
+
17
+
This document defines a number of keywords that have been in use by
18
+
Fastmail and Apple respectively for some time. It defines their
19
+
intended use. Additionally some mailbox names with special meaning
20
+
have been in use by Fastmail, and this document defines their
21
+
intended use. This document registers all of these names with IANA
22
+
to avoid name collisions.
23
+
24
+
Status of This Memo
25
+
26
+
This Internet-Draft is submitted in full conformance with the
27
+
provisions of BCP 78 and BCP 79.
28
+
29
+
Internet-Drafts are working documents of the Internet Engineering
30
+
Task Force (IETF). Note that other groups may also distribute
31
+
working documents as Internet-Drafts. The list of current Internet-
32
+
Drafts is at https://datatracker.ietf.org/drafts/current/.
33
+
34
+
Internet-Drafts are draft documents valid for a maximum of six months
35
+
and may be updated, replaced, or obsoleted by other documents at any
36
+
time. It is inappropriate to use Internet-Drafts as reference
37
+
material or to cite them other than as "work in progress."
38
+
39
+
This Internet-Draft will expire on 21 August 2025.
40
+
41
+
Copyright Notice
42
+
43
+
Copyright (c) 2025 IETF Trust and the persons identified as the
44
+
document authors. All rights reserved.
45
+
46
+
47
+
48
+
49
+
50
+
51
+
52
+
53
+
54
+
55
+
56
+
Jenkins & Eggert Expires 21 August 2025 [Page 1]
57
+
58
+
Internet-Draft Further IMAP/JMAP keywords & attributes February 2025
59
+
60
+
61
+
This document is subject to BCP 78 and the IETF Trust's Legal
62
+
Provisions Relating to IETF Documents (https://trustee.ietf.org/
63
+
license-info) in effect on the date of publication of this document.
64
+
Please review these documents carefully, as they describe your rights
65
+
and restrictions with respect to this document. Code Components
66
+
extracted from this document must include Revised BSD License text as
67
+
described in Section 4.e of the Trust Legal Provisions and are
68
+
provided without warranty as described in the Revised BSD License.
69
+
70
+
Table of Contents
71
+
72
+
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
73
+
2. Requirements Language . . . . . . . . . . . . . . . . . . . . 4
74
+
3. Flag Colors . . . . . . . . . . . . . . . . . . . . . . . . . 4
75
+
3.1. Definition of the MailFlagBit Message Keyword . . . . . . 4
76
+
3.2. Implementation Notes . . . . . . . . . . . . . . . . . . 5
77
+
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5
78
+
4.1. IMAP/JMAP Keyword Registrations . . . . . . . . . . . . . 5
79
+
4.1.1. $notify keyword registration . . . . . . . . . . . . 5
80
+
4.1.2. $muted keyword registration . . . . . . . . . . . . . 6
81
+
4.1.3. $followed keyword registration . . . . . . . . . . . 7
82
+
4.1.4. $memo keyword registration . . . . . . . . . . . . . 7
83
+
4.1.5. $hasmemo keyword registration . . . . . . . . . . . . 8
84
+
4.1.6. Attachment Detection . . . . . . . . . . . . . . . . 8
85
+
4.1.7. $autosent keyword registration . . . . . . . . . . . 9
86
+
4.1.8. $unsubscribed keyword registration . . . . . . . . . 10
87
+
4.1.9. $canunsubscribe keyword registration . . . . . . . . 10
88
+
4.1.10. $imported keyword registration . . . . . . . . . . . 11
89
+
4.1.11. $istrusted keyword registration . . . . . . . . . . . 11
90
+
4.1.12. $maskedemail keyword registration . . . . . . . . . . 12
91
+
4.1.13. $new keyword registration . . . . . . . . . . . . . . 12
92
+
4.1.14. $MailFlagBit0 keyword registration . . . . . . . . . 13
93
+
4.1.15. $MailFlagBit1 keyword registration . . . . . . . . . 13
94
+
4.1.16. $MailFlagBit2 keyword registration . . . . . . . . . 13
95
+
4.2. IMAP Mailbox Name Attributes Registrations . . . . . . . 14
96
+
4.2.1. Snoozed mailbox name attribute registration . . . . . 14
97
+
4.2.2. Scheduled mailbox name attribute registration . . . . 14
98
+
4.2.3. Memos mailbox name attribute registration . . . . . . 14
99
+
5. Security Considerations . . . . . . . . . . . . . . . . . . . 15
100
+
6. References . . . . . . . . . . . . . . . . . . . . . . . . . 15
101
+
6.1. Normative References . . . . . . . . . . . . . . . . . . 15
102
+
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 15
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+
111
+
112
+
Jenkins & Eggert Expires 21 August 2025 [Page 2]
113
+
114
+
Internet-Draft Further IMAP/JMAP keywords & attributes February 2025
115
+
116
+
117
+
1. Introduction
118
+
119
+
The Internet Message Access Protocol (IMAP) specification [RFC9051]
120
+
defines the use of message keywords, and an "IMAP Keywords" registry
121
+
is created in [RFC5788]. Similarly [RFC8457] creates an "IMAP
122
+
Mailbox Name Attributes Registry".
123
+
124
+
This document does the following:
125
+
126
+
* Defines 16 message keywords
127
+
128
+
- $notify
129
+
130
+
- $muted
131
+
132
+
- $followed
133
+
134
+
- $memo
135
+
136
+
- $hasmemo
137
+
138
+
- $hasattachment
139
+
140
+
- $hasnoattachment
141
+
142
+
- $autosent
143
+
144
+
- $unsubscribed
145
+
146
+
- $canunsubscribe
147
+
148
+
- $imported
149
+
150
+
- $istrusted
151
+
152
+
- $maskedemail
153
+
154
+
- $new
155
+
156
+
- $MailFlagBit0
157
+
158
+
- $MailFlagBit1
159
+
160
+
- $MailFlagBit2
161
+
162
+
* Defines 3 mailbox name attributes
163
+
164
+
- Snoozed
165
+
166
+
167
+
168
+
Jenkins & Eggert Expires 21 August 2025 [Page 3]
169
+
170
+
Internet-Draft Further IMAP/JMAP keywords & attributes February 2025
171
+
172
+
173
+
- Scheduled
174
+
175
+
- Memos
176
+
177
+
* Registers these in the "IMAP Keywords" registry and "IMAP Mailbox
178
+
Name Attributes" registry respectively.
179
+
180
+
2. Requirements Language
181
+
182
+
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
183
+
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
184
+
"OPTIONAL" in this document are to be interpreted as described in BCP
185
+
14 [RFC2119] [RFC8174] when, and only when, they appear in all
186
+
capitals, as shown here.
187
+
188
+
3. Flag Colors
189
+
190
+
The Internet Message Access Protocol (IMAP) specification [RFC9051]
191
+
defines a \Flagged system flag to mark a message for urgent/special
192
+
attention. The new keywords defined in Sections 4.1.14, 4.1.15, and
193
+
4.1.16 allow such a flagged message to have that flag be of one of 7
194
+
colors.
195
+
196
+
3.1. Definition of the MailFlagBit Message Keyword
197
+
198
+
The 3 flag color keywords $MailFlagBit0, $MailFlagBit1, and
199
+
$MailFlagBit2 make up a bit pattern that define the color of the flag
200
+
as such:
201
+
202
+
+=======+=======+=======+========+
203
+
| Bit 0 | Bit 1 | Bit 2 | Color |
204
+
+=======+=======+=======+========+
205
+
| 0 | 0 | 0 | red |
206
+
+-------+-------+-------+--------+
207
+
| 1 | 0 | 0 | orange |
208
+
+-------+-------+-------+--------+
209
+
| 0 | 1 | 0 | yellow |
210
+
+-------+-------+-------+--------+
211
+
| 1 | 1 | 1 | green |
212
+
+-------+-------+-------+--------+
213
+
| 0 | 0 | 1 | blue |
214
+
+-------+-------+-------+--------+
215
+
| 1 | 0 | 1 | purple |
216
+
+-------+-------+-------+--------+
217
+
| 0 | 1 | 1 | gray |
218
+
+-------+-------+-------+--------+
219
+
220
+
Table 1: Flag Colors
221
+
222
+
223
+
224
+
Jenkins & Eggert Expires 21 August 2025 [Page 4]
225
+
226
+
Internet-Draft Further IMAP/JMAP keywords & attributes February 2025
227
+
228
+
229
+
These flags SHOULD be ignored if the \Flagged system flag is not set.
230
+
If the \Flagged system flag is set, the flagged status MAY be
231
+
displayed to the user in the color corresponding to the combination
232
+
of the 3 flag color keywords.
233
+
234
+
3.2. Implementation Notes
235
+
236
+
A mail client that is aware of these flag color keywords SHOULD clear
237
+
all 3 flag color keywords when the user unflags the message, i.e.
238
+
when unsetting the \Flagged system flag, all 3 flag color keywords
239
+
SHOULD also be unset.
240
+
241
+
A mail client SHOULD NOT set any of these flags unless the \Flagged
242
+
system flag is already set or is being set.
243
+
244
+
Servers MAY unset these flag color keywords when a client unsets the
245
+
\Flagged system flag.
246
+
247
+
4. IANA Considerations
248
+
249
+
3 IMAP/JMAP keywords are registered in the IMAP/JMAP keywords
250
+
registry, as established in RFC5788.
251
+
252
+
4.1. IMAP/JMAP Keyword Registrations
253
+
254
+
4.1.1. $notify keyword registration
255
+
256
+
IMAP/JMAP keyword name: $notify
257
+
Purpose: Indicate to the client that a notification should be shown
258
+
for this message.
259
+
Private or Shared on a server: SHARED
260
+
Is it an advisory keyword or may it cause an automatic action: This
261
+
keyword can cause automatic action. On supporting clients, when a
262
+
new message is added to the mailstore with this keyword, the
263
+
client should show the user a notification.
264
+
Mail clients commonly show notifications for new mail, but often
265
+
the only option is to show a notification for every message that
266
+
arrives in the inbox. This keyword allows the user to create
267
+
rules (or the server to automatically determine) specific messages
268
+
that should show a notification.
269
+
Notifications for these messages may be in addition to
270
+
notifications for messages matching other criteria, according to
271
+
user preference set on the client.
272
+
When/by whom the keyword is set/cleared: This keyword is set by a
273
+
274
+
275
+
276
+
277
+
278
+
279
+
280
+
Jenkins & Eggert Expires 21 August 2025 [Page 5]
281
+
282
+
Internet-Draft Further IMAP/JMAP keywords & attributes February 2025
283
+
284
+
285
+
server on delivery when a message meets criteria such that the
286
+
user should be shown a notification. It may be cleared by a
287
+
client when the user opens, archives, or otherwise interacts with
288
+
the message. Other clients connected to the same account may
289
+
choose to automatically close the notification if the flag is
290
+
cleared.
291
+
Related keywords: None
292
+
Related IMAP capabilities: None
293
+
Security considerations: None
294
+
Published specification: This document
295
+
Intended usage: COMMON
296
+
Scope: BOTH
297
+
Owner/Change controller: IESG
298
+
299
+
4.1.2. $muted keyword registration
300
+
301
+
IMAP/JMAP keyword name: $muted
302
+
Purpose: Indicate to the server that the user is not interested in
303
+
future replies to a particular thread.
304
+
Private or Shared on a server: SHARED
305
+
Is it an advisory keyword or may it cause an automatic action: This
306
+
keyword can cause automatic action. On supporting servers, when a
307
+
new message arrives that is in the same thread as a message with
308
+
this keyword the server may automatically process it in some way
309
+
to deprioritise it for the user, for example by moving it to the
310
+
archive or trash, or marking it read. The exact action, whether
311
+
this is customisable by the user, and interaction with user rules
312
+
is vendor specific.
313
+
A message is defined to be in the same thread as another if the
314
+
server assigns them both the same thread id, as defined in
315
+
[RFC8474] Section 5.2 for IMAP or [RFC8621], Section 3 for JMAP.
316
+
When/by whom the keyword is set/cleared: This keyword is set by a
317
+
client when the user indicates they wish to mute or unmute a
318
+
thread. When unmuting a thread, the client must remove the
319
+
keyword from every message in the thread that has it.
320
+
Related keywords: Mutually exclusive with $followed. If both are
321
+
specified on a thread, servers MUST behave as though only
322
+
$followed were set.
323
+
Related IMAP capabilities: None
324
+
Security considerations: Muting a thread can mean a user won't see a
325
+
reply. If someone compromises a user's account, they may mute
326
+
threads where they don't want the user to see the reply, for
327
+
example when sending phishing to the user's contacts. There are
328
+
many other ways an attacker with access to the user's mailbox can
329
+
also achieve this however, so this is not greatly increasing the
330
+
attack surface.
331
+
Published specification: This document
332
+
Intended usage: COMMON
333
+
334
+
335
+
336
+
Jenkins & Eggert Expires 21 August 2025 [Page 6]
337
+
338
+
Internet-Draft Further IMAP/JMAP keywords & attributes February 2025
339
+
340
+
341
+
Scope: BOTH
342
+
Owner/Change controller: IESG
343
+
344
+
4.1.3. $followed keyword registration
345
+
346
+
IMAP/JMAP keyword name: $followed
347
+
Purpose: Indicate to the server that the user is particularly
348
+
interested in future replies to a particular thread.
349
+
Private or Shared on a server: SHARED
350
+
Is it an advisory keyword or may it cause an automatic action: This
351
+
keyword can cause automatic action. On supporting servers, when a
352
+
new message arrives that is in the same thread as a message with
353
+
this keyword the server may automatically process it in some way
354
+
to prioritise it for the user, for example by ignoring rules that
355
+
would make it skip the inbox, or automatically adding the $notify
356
+
keyword. The exact action, whether this is customisable by the
357
+
user, and interaction with user rules is vendor specific.
358
+
A message is defined to be in the same thread as another if the
359
+
server assigns them both the same thread id, as defined in
360
+
[RFC8474] Section 5.2 for IMAP or [RFC8621], Section 3 for JMAP.
361
+
When/by whom the keyword is set/cleared: This keyword is set by a
362
+
client when the user indicates they wish to follow or unfollow a
363
+
thread. When unfollowing a thread, the client must remove the
364
+
keyword from every message in the thread that has it.
365
+
Related keywords: Mutually exclusive with $muted. If both are
366
+
specified on a thread, servers MUST behave as though only
367
+
$followed were set.
368
+
Related IMAP capabilities: None
369
+
Security considerations: None
370
+
Published specification: This document
371
+
Intended usage: COMMON
372
+
Scope: BOTH
373
+
Owner/Change controller: IESG
374
+
375
+
4.1.4. $memo keyword registration
376
+
377
+
IMAP/JMAP keyword name: $memo
378
+
Purpose: Indicate to the client that a message is a note-to-self
379
+
from the user regarding another message in the same thread.
380
+
Private or Shared on a server: SHARED
381
+
Is it an advisory keyword or may it cause an automatic action: This
382
+
keyword is advisory.
383
+
When/by whom the keyword is set/cleared: This keyword is set by a
384
+
client when creating such a message. The message should otherwise
385
+
be contructed like a reply to the message to which this memo is
386
+
attached (i.e. appropriate Subject and Reply-To headers set). In
387
+
supporting clients, messages with this flag may be presented
388
+
differently to the user, attached to the message the memo is
389
+
390
+
391
+
392
+
Jenkins & Eggert Expires 21 August 2025 [Page 7]
393
+
394
+
Internet-Draft Further IMAP/JMAP keywords & attributes February 2025
395
+
396
+
397
+
commenting on, and may offer the user the ability to edit or
398
+
delete the memo. (As messages are immutable, editing requires
399
+
replacing the message.)
400
+
Related keywords: The $hasmemo keyword should be set/cleared at the
401
+
same time.
402
+
Related IMAP capabilities: None
403
+
Security considerations: None
404
+
Published specification: This document
405
+
Intended usage: COMMON
406
+
Scope: BOTH
407
+
Owner/Change controller: IESG
408
+
409
+
4.1.5. $hasmemo keyword registration
410
+
411
+
IMAP/JMAP keyword name: $hasmemo
412
+
Purpose: Indicate to the client that a message has an associated
413
+
memo with the $memo keyword.
414
+
Private or Shared on a server: SHARED
415
+
Is it an advisory keyword or may it cause an automatic action: This
416
+
keyword is advisory.
417
+
When/by whom the keyword is set/cleared: This keyword is set by a
418
+
client when creating a memo. The memo gets the $memo keyword, the
419
+
message it is a note for gets the $hasmemo keyword. This keyword
420
+
can help in searching for messages with memos, or deciding whether
421
+
to fetch the whole thread to look for memos when loading a
422
+
mailbox.
423
+
Related keywords: A message with the $memo keyword should be
424
+
created/destroyed at the same time.
425
+
Related IMAP capabilities: None
426
+
Security considerations: None
427
+
Published specification: This document
428
+
Intended usage: COMMON
429
+
Scope: BOTH
430
+
Owner/Change controller: IESG
431
+
432
+
4.1.6. Attachment Detection
433
+
434
+
The $hasattachment and $hasnoattachment are mutually exclusive. A
435
+
message SHOULD NOT contain both keywords.
436
+
437
+
4.1.6.1. $hasattachment keyword registration
438
+
439
+
IMAP/JMAP keyword name: $hasattachment
440
+
Purpose: Indicate to the client that a message has an attachment.
441
+
Private or Shared on a server: SHARED
442
+
Is it an advisory keyword or may it cause an automatic action: This
443
+
keyword is advisory.
444
+
When/by whom the keyword is set/cleared: This keyword is set by a
445
+
446
+
447
+
448
+
Jenkins & Eggert Expires 21 August 2025 [Page 8]
449
+
450
+
Internet-Draft Further IMAP/JMAP keywords & attributes February 2025
451
+
452
+
453
+
server on messages it determines have an attachment. This can
454
+
help mailbox clients indicate this to the user without having to
455
+
fetch the full message body structure. Over JMAP, the
456
+
"hasAttachment" Email property should indicate the same value.
457
+
Related keywords: $hasnoattachment
458
+
Related IMAP capabilities: None
459
+
Security considerations: None
460
+
Published specification: This document
461
+
Intended usage: COMMON
462
+
Scope: BOTH
463
+
Owner/Change controller: IESG
464
+
465
+
4.1.6.2. $hasnoattachment keyword registration
466
+
467
+
IMAP/JMAP keyword name: $hasnoattachment
468
+
Purpose: Indicate to the client that a message does not have an
469
+
attachment.
470
+
Private or Shared on a server: SHARED
471
+
Is it an advisory keyword or may it cause an automatic action: This
472
+
keyword is advisory.
473
+
When/by whom the keyword is set/cleared: This keyword is set by a
474
+
server on messages it determines does NOT have an attachment.
475
+
Over JMAP, the "hasNoAttachment" Email property should indicate
476
+
the same value. This keyword is needed in addition to the
477
+
$hasattachment keyword, as a client cannot otherwise determine
478
+
whether the server has processed the message for the presence of
479
+
an attachment. In other words, the absence of the $hasattachment
480
+
keyword for a message does not tell a client whether the message
481
+
actually contains an attachment, as the client has no information
482
+
on whether the server has processed the message.
483
+
Related keywords: None
484
+
Related IMAP capabilities: None
485
+
Security considerations: None
486
+
Published specification: This document
487
+
Intended usage: COMMON
488
+
Scope: BOTH
489
+
Owner/Change controller: IESG
490
+
491
+
4.1.7. $autosent keyword registration
492
+
493
+
IMAP/JMAP keyword name: $autosent
494
+
Purpose: Indicate to the client that a message was sent
495
+
automatically as a response due to a user rule or setting.
496
+
Private or Shared on a server: SHARED
497
+
Is it an advisory keyword or may it cause an automatic action: This
498
+
keyword is advisory.
499
+
When/by whom the keyword is set/cleared: This keyword is set by a
500
+
501
+
502
+
503
+
504
+
Jenkins & Eggert Expires 21 August 2025 [Page 9]
505
+
506
+
Internet-Draft Further IMAP/JMAP keywords & attributes February 2025
507
+
508
+
509
+
server on the user's copy of their vacation response and other
510
+
automated messages sent on behalf of the user. Clients may use
511
+
this to indicate to the user that this message was sent
512
+
automatically, as if they have forgotten the rule or vacation
513
+
response is set up they may be surprised to see it among their
514
+
sent items.
515
+
Related keywords: None
516
+
Related IMAP capabilities: None
517
+
Security considerations: None
518
+
Published specification: This document
519
+
Intended usage: COMMON
520
+
Scope: BOTH
521
+
Owner/Change controller: IESG
522
+
523
+
4.1.8. $unsubscribed keyword registration
524
+
525
+
IMAP/JMAP keyword name: $unsubscribed
526
+
Purpose: Indicate to the client that it has unsubscribed from the
527
+
thread this message is on.
528
+
Private or Shared on a server: SHARED
529
+
Is it an advisory keyword or may it cause an automatic action: This
530
+
keyword is advisory.
531
+
When/by whom the keyword is set/cleared: This keyword is set by a
532
+
client on a message after attempting to unsubscribe from the
533
+
mailing list this message came from (e.g., after attempting
534
+
RFC8058 one-click List-Unsubscribe). It allows clients to remind
535
+
the user that they have unsubscribed if they open the message
536
+
again.
537
+
Related keywords: None
538
+
Related IMAP capabilities: None
539
+
Security considerations: None
540
+
Published specification: This document
541
+
Intended usage: COMMON
542
+
Scope: BOTH
543
+
Owner/Change controller: IESG
544
+
545
+
4.1.9. $canunsubscribe keyword registration
546
+
547
+
IMAP/JMAP keyword name: $canunsubscribe
548
+
Purpose: Indicate to the client that this message has an
549
+
RFC8058-compliant List-Unsubscribe header.
550
+
Private or Shared on a server: SHARED
551
+
Is it an advisory keyword or may it cause an automatic action: This
552
+
keyword is advisory.
553
+
When/by whom the keyword is set/cleared: This keyword is set by a
554
+
555
+
556
+
557
+
558
+
559
+
560
+
Jenkins & Eggert Expires 21 August 2025 [Page 10]
561
+
562
+
Internet-Draft Further IMAP/JMAP keywords & attributes February 2025
563
+
564
+
565
+
server on messages with an RFC8058-compliant List-Unsubscribe
566
+
header. It may only do so if the message passes vendor-specific
567
+
reputation checks. It is intended to indicate to clients that
568
+
they may be able to do a one-click unsubscribe, without them
569
+
having to fetch the List-Unsubscribe header to determine themself.
570
+
Related keywords: None
571
+
Related IMAP capabilities: None
572
+
Security considerations: None
573
+
Published specification: This document
574
+
Intended usage: COMMON
575
+
Scope: BOTH
576
+
Owner/Change controller: IESG
577
+
578
+
4.1.10. $imported keyword registration
579
+
580
+
IMAP/JMAP keyword name: $imported
581
+
Purpose: Indicate to the client that this message was imported from
582
+
another mailbox.
583
+
Private or Shared on a server: SHARED
584
+
Is it an advisory keyword or may it cause an automatic action: This
585
+
keyword is advisory.
586
+
When/by whom the keyword is set/cleared: This keyword is set by a
587
+
server on messages in imports from another mailbox.
588
+
Related keywords: None
589
+
Related IMAP capabilities: None
590
+
Security considerations: None
591
+
Published specification: This document
592
+
Intended usage: COMMON
593
+
Scope: BOTH
594
+
Owner/Change controller: IESG
595
+
596
+
4.1.11. $istrusted keyword registration
597
+
598
+
IMAP/JMAP keyword name: $istrusted
599
+
Purpose: Indicate to the client that the authenticity of the from
600
+
name and email address have been verified with complete confidence
601
+
by the server.
602
+
Private or Shared on a server: SHARED
603
+
Is it an advisory keyword or may it cause an automatic action: This
604
+
keyword is advisory. Clients may show a verification mark (often
605
+
a tick icon) on messages with this keyword to indicate their
606
+
trusted status to the user.
607
+
When/by whom the keyword is set/cleared: This keyword is set by a
608
+
server on messages it delivers where it wishes to confirm to the
609
+
user that this is a legitimate email they can trust. It is
610
+
usually only used for the mailbox provider's own messages to the
611
+
customer, where they can know with absolute certainty that the
612
+
friendly from name and email address are legitimate.
613
+
614
+
615
+
616
+
Jenkins & Eggert Expires 21 August 2025 [Page 11]
617
+
618
+
Internet-Draft Further IMAP/JMAP keywords & attributes February 2025
619
+
620
+
621
+
Related keywords: None
622
+
Related IMAP capabilities: None
623
+
Security considerations: Servers should make sure this keyword is
624
+
only set for messages that really are trusted!
625
+
Published specification: This document
626
+
Intended usage: COMMON
627
+
Scope: BOTH
628
+
Owner/Change controller: IESG
629
+
630
+
4.1.12. $maskedemail keyword registration
631
+
632
+
IMAP/JMAP keyword name: $maskedemail
633
+
Purpose: Indicate to the client that the message was received via an
634
+
alias created for an individual sender.
635
+
Private or Shared on a server: SHARED
636
+
Is it an advisory keyword or may it cause an automatic action: This
637
+
keyword is advisory. Clients may show an icon to indicate to the
638
+
user this was received via a masked email address - an alias
639
+
created for a specific sender to hide the user's real email
640
+
address.
641
+
When/by whom the keyword is set/cleared: This keyword is set by a
642
+
server on messages it delivers that arrived via such an alias.
643
+
Related keywords: None
644
+
Related IMAP capabilities: None
645
+
Security considerations: None
646
+
Published specification: This document
647
+
Intended usage: LIMITED
648
+
Scope: BOTH
649
+
Owner/Change controller: IESG
650
+
651
+
4.1.13. $new keyword registration
652
+
653
+
IMAP/JMAP keyword name: $new
654
+
Purpose: Indicate to the client that a message should be made more
655
+
prominent to the user due to a recent action.
656
+
Private or Shared on a server: SHARED
657
+
Is it an advisory keyword or may it cause an automatic action: This
658
+
keyword is advisory. Clients may show the status of the message.
659
+
When/by whom the keyword is set/cleared: This keyword is set by a
660
+
server on messages after awakening them from snooze. Clients
661
+
should clear the keyword when the message is opened.
662
+
Related keywords: None
663
+
Related IMAP capabilities: None
664
+
Security considerations: None
665
+
Published specification: This document
666
+
Intended usage: LIMITED
667
+
Scope: BOTH
668
+
Owner/Change controller: IESG
669
+
670
+
671
+
672
+
Jenkins & Eggert Expires 21 August 2025 [Page 12]
673
+
674
+
Internet-Draft Further IMAP/JMAP keywords & attributes February 2025
675
+
676
+
677
+
4.1.14. $MailFlagBit0 keyword registration
678
+
679
+
IMAP/JMAP keyword name: $MailFlagBit0
680
+
Purpose: 0 bit part of a 3-bit bitmask that defines the color of the
681
+
flag when the has the system flag \Flagged set. See Section 3 for
682
+
details.
683
+
Private or Shared on a server: SHARED
684
+
Is it an advisory keyword or may it cause an automatic action: No
685
+
When/by whom the keyword is set/cleared: This keyword is set by a
686
+
client as the result of a user action to "flag" a message for
687
+
urgent/special attention.
688
+
Related keywords: $MailFlagBit1, $MailFlagBit2
689
+
Related IMAP capabilities: None
690
+
Security considerations: None
691
+
Published specification: This document
692
+
Intended usage: COMMON
693
+
Owner/Change controller: IESG
694
+
695
+
4.1.15. $MailFlagBit1 keyword registration
696
+
697
+
IMAP/JMAP keyword name: $MailFlagBit1
698
+
Purpose: 0 bit part of a 3-bit bitmask that defines the color of the
699
+
flag when the has the system flag \Flagged set. See Section 3 for
700
+
details.
701
+
Private or Shared on a server: SHARED
702
+
Is it an advisory keyword or may it cause an automatic action: No
703
+
When/by whom the keyword is set/cleared: This keyword is set by a
704
+
client as the result of a user action to "flag" a message for
705
+
urgent/special attention.
706
+
Related keywords: $MailFlagBit0, $MailFlagBit2
707
+
Related IMAP capabilities: None
708
+
Security considerations: None
709
+
Published specification: This document
710
+
Intended usage: COMMON
711
+
Owner/Change controller: IESG
712
+
713
+
4.1.16. $MailFlagBit2 keyword registration
714
+
715
+
IMAP/JMAP keyword name: $MailFlagBit2
716
+
Purpose: 0 bit part of a 3-bit bitmask that defines the color of the
717
+
flag when the has the system flag \Flagged set. See Section 3 for
718
+
details.
719
+
Private or Shared on a server: SHARED
720
+
Is it an advisory keyword or may it cause an automatic action: No
721
+
When/by whom the keyword is set/cleared: This keyword is set by a
722
+
client as the result of a user action to "flag" a message for
723
+
urgent/special attention.
724
+
Related keywords: $MailFlagBit0, $MailFlagBit1
725
+
726
+
727
+
728
+
Jenkins & Eggert Expires 21 August 2025 [Page 13]
729
+
730
+
Internet-Draft Further IMAP/JMAP keywords & attributes February 2025
731
+
732
+
733
+
Related IMAP capabilities: None
734
+
Security considerations: None
735
+
Published specification: This document
736
+
Intended usage: COMMON
737
+
Owner/Change controller: IESG
738
+
739
+
4.2. IMAP Mailbox Name Attributes Registrations
740
+
741
+
This section lists mailbox name attributes to be registered with the
742
+
"IMAP Mailbox Name Attributes" created with [RFC8457].
743
+
744
+
Note that none of the attribute names in this seciton have an implied
745
+
backslash. This sets them apart from those specified in Section 2 of
746
+
[RFC6154].
747
+
748
+
4.2.1. Snoozed mailbox name attribute registration
749
+
750
+
Attribute Name: Snoozed
751
+
Description: Messages that have been snoozed are moved to this
752
+
mailbox until the "awaken" time, when they are moved out of it
753
+
again automatically by the server.
754
+
Reference: This document.
755
+
Usage Notes: Snooze functionality is common among services but not
756
+
yet standardised. This attribute marks the mailbox where snoozed
757
+
messages may be found, but does not on its own provide a way for
758
+
clients to snooze messages.
759
+
760
+
4.2.2. Scheduled mailbox name attribute registration
761
+
762
+
Attribute Name: Scheduled
763
+
Description: Messages that have been scheduled to send at a later
764
+
time. Once the server has sent them at the scheduled time, they
765
+
will automatically be deleted or moved from this mailbox by the
766
+
server (probably to the \Sent mailbox).
767
+
Reference: This document.
768
+
Usage Notes: Scheduled sending functionality is common among
769
+
services but not yet standardised. This attribute marks the
770
+
mailbox where scheduled messages may be found, but does not on its
771
+
own provide a way for clients to schedule messages for sending.
772
+
773
+
4.2.3. Memos mailbox name attribute registration
774
+
775
+
Attribute Name: Memos
776
+
Description: Messages that have the $memo keyword. Clients creating
777
+
memos are recommended to store them in this mailbox. This allows
778
+
them to more easily be hidden from the user as "messages", and
779
+
presented only as memos instead.
780
+
Reference: This document.
781
+
782
+
783
+
784
+
Jenkins & Eggert Expires 21 August 2025 [Page 14]
785
+
786
+
Internet-Draft Further IMAP/JMAP keywords & attributes February 2025
787
+
788
+
789
+
Usage Notes: None.
790
+
791
+
5. Security Considerations
792
+
793
+
This document should not affect the security of the Internet.
794
+
795
+
6. References
796
+
797
+
6.1. Normative References
798
+
799
+
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
800
+
Requirement Levels", BCP 14, RFC 2119,
801
+
DOI 10.17487/RFC2119, March 1997,
802
+
<https://www.rfc-editor.org/info/rfc2119>.
803
+
804
+
[RFC6154] Leiba, B. and J. Nicolson, "IMAP LIST Extension for
805
+
Special-Use Mailboxes", RFC 6154, DOI 10.17487/RFC6154,
806
+
March 2011, <https://www.rfc-editor.org/info/rfc6154>.
807
+
808
+
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
809
+
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
810
+
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
811
+
812
+
[RFC8457] Leiba, B., Ed., "IMAP "$Important" Keyword and
813
+
"\Important" Special-Use Attribute", RFC 8457,
814
+
DOI 10.17487/RFC8457, September 2018,
815
+
<https://www.rfc-editor.org/info/rfc8457>.
816
+
817
+
[RFC8474] Gondwana, B., Ed., "IMAP Extension for Object
818
+
Identifiers", RFC 8474, DOI 10.17487/RFC8474, September
819
+
2018, <https://www.rfc-editor.org/info/rfc8474>.
820
+
821
+
[RFC8621] Jenkins, N. and C. Newman, "The JSON Meta Application
822
+
Protocol (JMAP) for Mail", RFC 8621, DOI 10.17487/RFC8621,
823
+
August 2019, <https://www.rfc-editor.org/info/rfc8621>.
824
+
825
+
[RFC9051] Melnikov, A., Ed. and B. Leiba, Ed., "Internet Message
826
+
Access Protocol (IMAP) - Version 4rev2", RFC 9051,
827
+
DOI 10.17487/RFC9051, August 2021,
828
+
<https://www.rfc-editor.org/info/rfc9051>.
829
+
830
+
[RFC5788] Melnikov, A. and D. Cridland, "IMAP4 Keyword Registry",
831
+
RFC 5788, DOI 10.17487/RFC5788, March 2010,
832
+
<https://www.rfc-editor.org/info/rfc5788>.
833
+
834
+
Authors' Addresses
835
+
836
+
837
+
838
+
839
+
840
+
Jenkins & Eggert Expires 21 August 2025 [Page 15]
841
+
842
+
Internet-Draft Further IMAP/JMAP keywords & attributes February 2025
843
+
844
+
845
+
Neil Jenkins (editor)
846
+
Fastmail
847
+
PO Box 234, Collins St West
848
+
Melbourne VIC 8007
849
+
Australia
850
+
Email: neilj@fastmailteam.com
851
+
URI: https://www.fastmail.com
852
+
853
+
854
+
Daniel Eggert (editor)
855
+
Apple Inc
856
+
One Apple Park Way
857
+
Cupertino, CA 95014
858
+
United States of America
859
+
Email: deggert@apple.com
860
+
URI: https://www.apple.com
861
+
862
+
863
+
864
+
865
+
866
+
867
+
868
+
869
+
870
+
871
+
872
+
873
+
874
+
875
+
876
+
877
+
878
+
879
+
880
+
881
+
882
+
883
+
884
+
885
+
886
+
887
+
888
+
889
+
890
+
891
+
892
+
893
+
894
+
895
+
896
+
Jenkins & Eggert Expires 21 August 2025 [Page 16]