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)
Last updated 2013-03-02
Stream IETF
Formats plain text pdf html
Stream WG state (None)
Consensus Unknown
Document shepherd No shepherd assigned
IESG IESG state RFC 5260 (Proposed Standard)
Telechat date
Responsible AD Lisa Dusseault
Send notices to ned.freed@mrochek.com, draft-freed-sieve-date-index@ietf.org, 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
Show full document text