Sieve Email Filtering: Date and Index Extensions
RFC 5260
Document | Type |
RFC - Proposed Standard
(July 2008; Errata)
Was draft-freed-sieve-date-index (individual in gen area)
|
|
---|---|---|---|
Author | Ned Freed | ||
Last updated | 2020-01-21 | ||
Stream | IETF | ||
Formats | plain text html pdf htmlized with errata bibtex | ||
Reviews | |||
Stream | WG state | (None) | |
Document shepherd | No shepherd assigned | ||
IESG | IESG state | RFC 5260 (Proposed Standard) | |
Consensus Boilerplate | Unknown | ||
Telechat date | |||
Responsible AD | Lisa Dusseault | ||
Send notices to | alexey.melnikov@isode.com |
Network Working Group N. Freed Request for Comments: 5260 Sun Microsystems Category: Standards Track July 2008 Sieve Email Filtering: Date and Index Extensions Status of This Memo This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited. Abstract This document describes the "date" and "index" extensions to the Sieve email filtering language. The "date" extension gives Sieve the ability to test date and time values in various ways. The "index" extension provides a means to limit header and address tests to specific instances of header fields when header fields are repeated. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2 2. Conventions Used in This Document . . . . . . . . . . . . . . 2 3. Capability Identifiers . . . . . . . . . . . . . . . . . . . . 3 4. Date Test . . . . . . . . . . . . . . . . . . . . . . . . . . 3 4.1. Zone and Originalzone Arguments . . . . . . . . . . . . . 4 4.2. Date-part Argument . . . . . . . . . . . . . . . . . . . . 4 4.3. Comparator Interactions with Date-part Arguments . . . . . 5 4.4. Examples . . . . . . . . . . . . . . . . . . . . . . . . . 6 5. Currentdate Test . . . . . . . . . . . . . . . . . . . . . . . 6 5.1. Examples . . . . . . . . . . . . . . . . . . . . . . . . . 6 6. Index Extension . . . . . . . . . . . . . . . . . . . . . . . 7 6.1. Example . . . . . . . . . . . . . . . . . . . . . . . . . 8 7. Security Considerations . . . . . . . . . . . . . . . . . . . 8 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 9 9.1. Normative References . . . . . . . . . . . . . . . . . . . 9 9.2. Informative References . . . . . . . . . . . . . . . . . . 10 Appendix A. Julian Date Conversions . . . . . . . . . . . . . . . 11 Appendix B. Acknowledgements . . . . . . . . . . . . . . . . . . 12 Freed Standards Track [Page 1] RFC 5260 Sieve Date and Index Extensions July 2008 1. Introduction Sieve [RFC5228] is a language for filtering email messages at or around the time of final delivery. It is designed to be implementable on either a mail client or mail server. It is meant to be extensible, simple, and independent of access protocol, mail architecture, and operating system. It is suitable for running on a mail server where users may not be allowed to execute arbitrary programs, such as on black box Internet Message Access Protocol [RFC3501] servers, as it does not have user-controlled loops or the ability to run external programs. The "date" extension provides a new date test to extract and match date/time information from structured header fields. The date test is similar in concept to the address test specified in [RFC5228], which performs similar operations on addresses in header fields. The "date" extension also provides a currentdate test that operates on the date and time when the Sieve script is executed. Some header fields containing date/time information, e.g., Received:, naturally occur more than once in a single header. In such cases it is useful to be able to restrict the date test to some subset of the fields that are present. For example, it may be useful to apply a date test to the last (earliest) Received: field. Additionally, it may also be useful to apply similar restrictions to either the header or address tests specified in [RFC5228]. For this reason, this specification also defines an "index" extension. This extension adds two additional tagged arguments :index and :last to the header, address, and date tests. If present, these arguments specify which occurrence of the named header field is to be tested. 2. Conventions Used in This Document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [RFC2119]. The terms used to describe the various components of the Sieve language are taken from Section 1.1 of [RFC5228]. Section 2 of the same document describes basic Sieve language syntax and semantics. The date-time syntactic element defined using ABNF notation [RFC5234] in [RFC3339] is also used here. Freed Standards Track [Page 2]Show full document text