Sieve Extension: Relational Tests (RFC3431)
Original Publication Date: 2002-Nov-01
Included in the Prior Art Database: 2002-Dec-05
Internet Society Requests For Comment (RFCs)
This document describes the RELATIONAL extension to the Sieve mail filtering language defined in RFC 3028. This extension extends existing conditional tests in Sieve to allow relational operators. In addition to testing their content, it also allows for testing of the number of entities in header and envelope fields.
Network Working Group W. Segmuller
Request for Comment: 3431 IBM T.J. Watson Research Center
Category: Standards Track December 2002
Sieve Extension: Relational Tests
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.
Copyright (C) The Internet Society (2002). All Rights Reserved.
This document describes the RELATIONAL extension to the Sieve mail
filtering language defined in RFC 3028. This extension extends
existing conditional tests in Sieve to allow relational operators.
In addition to testing their content, it also allows for testing of
the number of entities in header and envelope fields.
Sieve [SIEVE] is a language for filtering e-mail messages at 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 Messages Access Protocol (IMAP) servers, as it has no
variables, loops, nor the ability to shell out to external programs.
The RELATIONAL extension provides relational operators on the
address, envelope, and header tests. This extension also provides a
way of counting the entities in a message header or address field.
With this extension, the sieve script may now determine if a field is
greater than or less than a value instead of just equivalent. One
use is for the x-priority field: move messages with a priority
greater than 3 to the "work on later" folder. Mail could also be
sorted by the from address. Those userids that start with 'a'-'m' go
to one folder, and the rest go to another folder.
Segmuller Standards Track [Page 1]
RFC 3431 Sieve Extension: Relational Tests December 2002
The sieve script can also determine the number of fields in the
header, or the number of addresses in a recipient field. For
example: are there more than 5 addresses in the to and cc fields.
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...