< draft-ietf-extra-sieve-snooze-02.txt   draft-ietf-extra-sieve-snooze-03.txt >
EXTRA K. Murchison EXTRA K. Murchison
Internet-Draft R. Signes Internet-Draft R. Signes
Updates: 5232 (if approved) N. Jenkins Updates: 5232 (if approved) N. Jenkins
Intended status: Standards Track Fastmail Intended status: Standards Track Fastmail
Expires: 17 February 2022 16 August 2021 Expires: 21 August 2022 17 February 2022
Sieve Email Filtering: Snooze Extension Sieve Email Filtering: Snooze Extension
draft-ietf-extra-sieve-snooze-02 draft-ietf-extra-sieve-snooze-03
Abstract Abstract
This document describes the "snooze" extension to the Sieve email This document describes the "snooze" extension to the Sieve email
filtering language. The "snooze" extension gives Sieve the ability filtering language. The "snooze" extension gives Sieve the ability
to postpone the delivery of an incoming email message into a target to postpone the delivery of an incoming email message into a target
mailbox until a later point in time. mailbox until a later point in time.
Status of This Memo Status of This Memo
skipping to change at page 1, line 34 skipping to change at page 1, line 34
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on 17 February 2022. This Internet-Draft will expire on 21 August 2022.
Copyright Notice Copyright Notice
Copyright (c) 2021 IETF Trust and the persons identified as the Copyright (c) 2022 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 (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document. license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights Please review these documents carefully, as they describe your rights
and restrictions with respect to this document. Code Components and restrictions with respect to this document. Code Components
extracted from this document must include Simplified BSD License text extracted from this document must include Revised BSD License text as
as described in Section 4.e of the Trust Legal Provisions and are described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Simplified BSD License. provided without warranty as described in the Revised BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Conventions Used in This Document . . . . . . . . . . . . . . 2 2. Conventions Used in This Document . . . . . . . . . . . . . . 2
3. Capability Identifier . . . . . . . . . . . . . . . . . . . . 3 3. Capability Identifier . . . . . . . . . . . . . . . . . . . . 3
4. Snooze Action . . . . . . . . . . . . . . . . . . . . . . . . 3 4. Snooze Action . . . . . . . . . . . . . . . . . . . . . . . . 3
4.1. Mailbox Argument . . . . . . . . . . . . . . . . . . . . 4 4.1. Mailbox Argument . . . . . . . . . . . . . . . . . . . . 4
4.2. Weekdays Argument . . . . . . . . . . . . . . . . . . . . 4 4.2. Weekdays Argument . . . . . . . . . . . . . . . . . . . . 4
4.3. Times and TZID Arguments . . . . . . . . . . . . . . . . 4 4.3. Times and TZID Arguments . . . . . . . . . . . . . . . . 4
skipping to change at page 6, line 48 skipping to change at page 6, line 48
When the "imap4flags" [RFC5232] extension is enabled in a script, two When the "imap4flags" [RFC5232] extension is enabled in a script, two
additional tagged arguments are added to "snooze" that allow additional tagged arguments are added to "snooze" that allow
manipulating the set of flags on a snoozed message. manipulating the set of flags on a snoozed message.
AWAKEN-OPTIONS /= ADDFLAGS / REMOVEFLAGS AWAKEN-OPTIONS /= ADDFLAGS / REMOVEFLAGS
ADDFLAGS = ":addflags" string-list ADDFLAGS = ":addflags" string-list
REMOVEFLAGS = ":removeflags" string-list REMOVEFLAGS = ":removeflags" string-list
If the "setflag" and/or "addflag" actions have been used to store
IMAP flags in the imap4flags internal variable, the Sieve interpreter
MUST use the current value of the internal variable as the set of
flags to associate with the message when storing it into the
"snoozed" mailbox.
The optional :addflags and :removeflags arguments are used to specify The optional :addflags and :removeflags arguments are used to specify
which IMAP [RFC3501] flags should be added to and/or removed from the which IMAP [RFC3501] flags should be added to and/or removed from the
set of IMAP flags present on the snoozed message at the time of set of IMAP flags present on the snoozed message at the time of
awakening. Note the set of IMAP flags present at the time of awakening. Note the set of IMAP flags present at the time of
awakening may be the empty set. awakening may be the empty set.
If the "setflag" and/or "addflag" actions have been used to store
IMAP flags in the imap4flags internal variable, the Sieve interpreter
MUST use the current value of the internal variable as the set of
flags to associate with the message when storing it into the
"snoozed" mailbox.
This document doesn't dictate how the Sieve interpreter will set the This document doesn't dictate how the Sieve interpreter will set the
IMAP flags. In particular, the Sieve interpreter may work as an IMAP IMAP flags. In particular, the Sieve interpreter may work as an IMAP
client or may have direct access to the mailstore. client or may have direct access to the mailstore.
The general requirements for flag handling specified in Section 2 of The general requirements for flag handling specified in Section 2 of
[RFC5232] MUST be followed. [RFC5232] MUST be followed.
4.4.1.1. Example 4.4.1.1. Example
The following example leverages the Date [RFC5260], Relational The following example leverages the Date [RFC5260], Relational
skipping to change at page 12, line 34 skipping to change at page 12, line 34
RFC 7942, DOI 10.17487/RFC7942, July 2016, RFC 7942, DOI 10.17487/RFC7942, July 2016,
<https://www.rfc-editor.org/info/rfc7942>. <https://www.rfc-editor.org/info/rfc7942>.
[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>.
Appendix A. Change History (To be removed by RFC Editor before Appendix A. Change History (To be removed by RFC Editor before
publication) publication)
Changes since draft-ietf-extra-sieve-snooze-01: Changes since draft-ietf-extra-sieve-snooze-02:
* Updated :mailboxid reference to RFC9042. * Updated :mailboxid reference to RFC9042.
* Added an informative reference to RFC8621. * Added an informative reference to RFC8621.
* Miscellaneous editorial changes. * Miscellaneous editorial changes.
Changes since draft-ietf-extra-sieve-snooze-01:
* Miscellaneous editorial changes.
Changes since draft-ietf-extra-sieve-snooze-00: Changes since draft-ietf-extra-sieve-snooze-00:
* Disallow both :mailboxid and :specialuse in the same snooze * Disallow both :mailboxid and :specialuse in the same snooze
action. action.
* Updated :mailboxid reference to draft-ietf-extra-sieve-mailboxid * Updated :mailboxid reference to draft-ietf-extra-sieve-mailboxid
* Specified that snooze cancels implicit keep. * Specified that snooze cancels implicit keep.
* Specified that implementations MUST use a "snoozed" mailbox. * Specified that implementations MUST use a "snoozed" mailbox.
* Added registration of \Snoozed Special-Use Attribute. * Added registration of \Snoozed Special-Use Attribute.
* Added example of manipulating IMAP flags at both snooze time and * Added example of manipulating IMAP flags at both snooze time and
awaken time. awaken time.
* Miscellaneous editorial changes. * Miscellaneous editorial changes.
 End of changes. 10 change blocks. 
15 lines changed or deleted 18 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/