Sieve (RFC5228) is a scripting language for filtering email messages at or around the time of final delivery. It is suitable for running on a mail server where users may not be allowed to execute arbitrary programs as it has no user-controlled loops or the ability to run external programs. Sieve is a data-driven programming language, similar to earlier email filtering languages such as procmail and maildrop, and earlier line-oriented languages such as sed and AWK: it specifies conditions to match and actions to take on matching.
Today Stalwart JMAP v0.2 was released including support for the for JMAP for Sieve Scripts draft. Additionally, ManageSieve support was added to Stalwart IMAP v0.2.
Stalwart JMAP safely runs Sieve scripts in a controlled sandbox that ensures that programs do not exceed or abuse their allocated system resources.
Unlike other mail servers that offer limited support for Sieve extensions, Stalwart JMAP supports all existing Sieve extensions including:
- RFC 5228 — Sieve: An Email Filtering Language
- RFC 3894 — Copying Without Side Effects
- RFC 5173 — Body Extension
- RFC 5183 — Environment Extension
- RFC 5229 — Variables Extension
- RFC 5230 — Vacation Extension
- RFC 5231 — Relational Extension
- RFC 5232 — Imap4flags Extension
- RFC 5233 — Subaddress Extension
- RFC 5235 — Spamtest and Virustest Extensions
- RFC 5260 — Date and Index Extensions
- RFC 5293 — Editheader Extension
- RFC 5429 — Reject and Extended Reject Extensions
- RFC 5435 — Extension for Notifications
- RFC 5463 — Ihave Extension
- RFC 5490 — Extensions for Checking Mailbox Status and Accessing Mailbox Metadata
- RFC 5703 — MIME Part Tests, Iteration, Extraction, Replacement, and Enclosure
- RFC 6009 — Delivery Status Notifications and Deliver-By Extensions
- RFC 6131 — Sieve Vacation Extension: “Seconds” Parameter
- RFC 6134 — Externally Stored Lists
- RFC 6558 — Converting Messages before Delivery
- RFC 6609 — Include Extension
- RFC 7352 — Detecting Duplicate Deliveries
- RFC 8579 — Delivering to Special-Use Mailboxes
- RFC 8580 — File Carbon Copy (FCC)
- RFC 9042 — Delivery by MAILBOXID
- REGEX-01 — Regular Expression Extension (draft-ietf-sieve-regex-01)