Sieve extensions
This document lists Cyrus's nonstandard extensions to Cyrus IMAP's
Sieve implementation, found in the sieve/ directory.
snooze
Adds the snooze action, which defers handling a message until a later time.
The message is filed into a holding mailbox, then moved back to the target
mailbox at one of the specified times.
It takes a series of tagged arguments followed by a string list of times-of-day to unsnooze.
The tagged arguments are:
:mailbox- the mailbox to snooze into (defaults to INBOX):weekdays- limit wake times to specific days of the week:tzid- time zone for interpreting the wake times:addflags/:removeflags- flags to add or remove on wake:specialuse,:mailboxid- alternative ways to specify the target mailbox
The legacy capability names vnd.cyrus.snooze and x-cyrus-snooze are also
accepted.
This extension was an Internet-Draft document, draft-ietf-extra-sieve-snooze, but is long since expired.
regex
Requires ENABLE_REGEX at compile time. Adds the :regex match type to
tests, allowing POSIX extended regular expression matching.
This extension was an Internet-Draft document, draft-ietf-sieve-regex, but is long since expired.
vnd.cyrus.jmapquery
Requires WITH_JMAP at compile time. Adds the jmapquery test, which takes
one argument: a JSON string containing a JMAP Email query filter
object and
evaluates it against the message. This allows Sieve scripts to use the full
expressiveness of JMAP filtering (including complex boolean combinations and
JMAP-specific fields) in a single test. The legacy name x-cyrus-jmapquery is
also accepted.
vnd.cyrus.implicit_keep_target
Adds the implicit_keep_target action, which redirects the implicit keep (the
default delivery that occurs when a script ends without an explicit action) to
a mailbox other than the INBOX. Accepts :specialuse and :mailboxid
arguments as alternative ways to identify the target.
vnd.cyrus.log
Adds the log action, which writes a string to the server's log (syslog).
Useful for debugging Sieve scripts. This capability is intentionally not
advertised to ManageSieve clients (it is considered an administrative tool
rather than an end-user feature). The legacy name x-cyrus-log is also
accepted.