Overview
The Sieve interpreter is responsible of processing and executing Sieve scripts. Sieve scripts, primarily used in email filtering, are a tool for automatically organizing, filtering, and responding to incoming emails based on predefined conditions. In Stalwart, the Sieve interpreter consists of two main parts, a compiler and a runtime:
Trusted Interpreter
The trusted interpreter runs Sieve scripts invoked by the SMTP server. These scripts are created by the system administrator and are considered privileged. Stalwart compiles all defined Sieve scripts at start-up and executes them on demand through the Sieve runtime.
Untrusted Interpreter
The untrusted interpreter runs Sieve scripts created by end-users. Stalwart supports JMAP for Sieve Scripts and ManageSieve for uploading and managing user scripts.