| < 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/ | ||||