Sieve is a scripting language used to filter and modify email messages. It provides a flexible and powerful way to manage email messages by automatically filtering, sorting, and transforming them based on a wide range of criteria. Rather than relying on a proprietary DSL, Stalwart Mail Server uses Sieve as its default scripting language primarily because it is sufficiently powerful to handle most filtering tasks and is an established internet standard.
Sieve scripts have access to a number of variables that can be used to obtain information about the current SMTP session, the message being processed and the environment in which the script is executed.
The expression extension, available only from the trusted interpreter, introduces the ability to evaluate arithmetical and logical operations within Sieve scripts. This is particularly useful for performing calculations on variables or determining the flow based on specific logical conditions.
This section contains the reference documentation for the functions available from Sieve expressions in the trusted interpreter. Currently not all functions are documented, but the list will be expanded over time.
This section contains a collection of example Sieve scripts that can be used as a starting point for your own scripts.