Network Working Group W. Segmuller
Request for Comment: 3431 IBM T.J. Watson Research Center
Category: Standards Track December 2002
Sieve Extension: Relational Tests
1 Introduction
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.
Segmuller Standards Track [Page 1]
RFC 3431 Sieve Extension: Relational Tests December 2002 2 Conventions used in this documentThe 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.
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].
4 Match Type
This document defines two new match types. They are the VALUE match type and the COUNT match type.
Segmuller Standards Track [Page 2]
RFC 3431 Sieve Extension: Relational Tests December 2002 4.1 Match Type ValueThe VALUE match type does a relational comparison between strings.
4.2 Match Type Count
The COUNT match type first determines the number of the specified entities in the message and does a relational comparison of the number of entities to the values specified in the test expression.
Segmuller Standards Track [Page 3]
RFC 3431 Sieve Extension: Relational Tests December 2002 5 Security ConsiderationsSecurity considerations are discussed in [SIEVE].
6 Example
Using the message:
Segmuller Standards Track [Page 4]
RFC 3431 Sieve Extension: Relational Tests December 2002
The test:
7 Extended Example
require ["relational", "comparator-i;ascii-numeric"];
Segmuller Standards Track [Page 5]
RFC 3431 Sieve Extension: Relational Tests December 2002 8 IANA ConsiderationsThe following template specifies the IANA registration of the Sieve extension specified in this document:
9 References 9.1 Normative References[SIEVE] Showalter, T., "Sieve: A Mail Filtering Language", RFC
9.2 Non-Normative References
[ACAP] Newman, C. and J. G. Myers, "ACAP -- Application
Segmuller Standards Track [Page 6]
RFC 3431 Sieve Extension: Relational Tests December 2002 10 Author's AddressWolfgang Segmuller IBM T.J. Watson Research Center 30 Saw Mill River Rd Hawthorne, NY 10532
Segmuller Standards Track [Page 7]
RFC 3431 Sieve Extension: Relational Tests December 2002 11 Full Copyright StatementCopyright (C) The Internet Society (2002). All Rights Reserved.