RFC 3431 (rfc3431) - Page 2 of 8
Sieve Extension: Relational Tests
Alternative Format: Original Text Document
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 be interpreted as described in BCP 14, RFC 2119.
Conventions for notations are as in [SIEVE] section 1.1, including
the use of [KEYWORDS] and "Syntax:" label for the definition of
action and tagged arguments syntax, and the use of [ABNF].
The capability string associated with extension defined in this
document is "relational".
3 Comparators
This document does not define any comparators or exempt any
comparators from the require clause. Any comparator used, other than
"i;octet" and "i;ascii-casemap", MUST be declared a require clause as
defined in [SIEVE].
The "i;ascii-numeric" comparator, as defined in [ACAP], MUST be
supported for any implementation of this extension. The comparator
"i;ascii-numeric" MUST support at least 32 bit unsigned integers.
Larger integers MAY be supported. Note: the "i;ascii-numeric"
comparator does not support negative numbers.
4 Match Type
This document defines two new match types. They are the VALUE match
type and the COUNT match type.
The syntax is:
MATCH-TYPE =/ COUNT / VALUE
COUNT = ":count" relational-match
VALUE = ":value" relational-match
relational-match = DQUOTE ( "gt" / "ge" / "lt"
/ "le" / "eq" / "ne" ) DQUOTE
Segmuller Standards Track