What Sieve is
Sieve is a valuable, safe server-side system that facilitates the development of simple mail filters and GUI-based editors but restricts anything that is more complex. The language is not Turing-complete, and offers no way to write a loop or a function. Variables are not provided.
Sieve is not tied to any particular operating system or mail architecture. It requires the use of RFC822-compliant messages, but otherwise should work well with other systems that meet these criteria. Sieve is designed as a proposed Internet Standard. Sieve design and development has followed Internet Engineering Task Force (IETF) procedures as described in RFC 2026.
We expect Sieve to be a popular tool the language is simple enough to allow many users to make use of it, but rich enough that it can be used productively. However, it is expected that GUI-based editors will be the preferred way of editing filters for most users.
What Sieve is not
Sieve is a specialized standard filtering syntax/language and is not intended to be a complete programming language.
- Sieve is not intended to be useful with filtering or processing anything other than RFC822 messages.
- Sieve is not intended as a replacement for the basis of a specific existing tool.
- Sieve does not provide the most sophisticated filtering syntax possible. However, it does provide fundamental basics common to all RFC822 messages to establish a basic standard syntax for interoperation. It also provides an extension mechanism to allow individual implementations to provide extended functionality within an open standards framework. As such, Sieve is intended as a first-stage building block for mail filters and provides significant functionality for a large number of uses.
- Sieve is not a once-and-for-all solution for pressing problems addressed by filtering, such as anti-Spam efforts, although it can facilitate construction of such solutions.