Sieve Extension by RFC

Sifter3 is a Python 3 implementation of the Sieve email filter language (RFC 5228)

Sieve Extension by RFC

Capability name Description RFC number Status
body Provides a test for matching against the
the body of the message being processed
  supported
comparator-* adds the indicated comparator for use with
the :comparator argument
  supported
convert adds a new Sieve test and action that enable
Sieve scripts to perform data conversions on
the message being delivered.
   
copy      
date The “date” extension gives Sieve the ability
to test date and time values.
   
duplicate Adds test ‘duplicate’ that can be used to test
whether a particular message is a duplicate,
i.e., whether a copy of it was seen before
by the delivery agent that is executing the
Sieve script.
   
editheader Adds actions ‘addheader’ and ‘deleteheader’
that modify the header of the message being
processed
   
enclose adds the “enclose” action for enclosing a message
with a wrapper.
   
encoded-character changes the interpretation of strings to allow
arbitrary octets and Unicode characters to be
represented using US-ASCII
   
enotify adds the ‘notify’ action for notifying user about the
received message. It also provides two new tests:
valid_notify_method checks notification URIs for
validity; notify_method_capability can check recipients
capabilities.
  supported
envelope adds the ‘envelope’ test for testing the message
transport sender and recipient address
   
envelope-deliverby The “envelope-deliverby” extension extends the
envelope test to allow checking of information
associated with the Deliver-By ESMTP extension
defined in [RFC2852].
   
envelope-dsn The “envelope-dsn” extension extends the envelope
test to allow checking of information associated
with the DSN ESMTP extension defined in [RFC3461].
   
environment The “environment” extension provides a new
environment test that can be used to implement
scripts that behave differently when moved
from one system to another or otherwise
operated in different contexts.
   
ereject adds the ‘ereject’ action for refusing delivery
of a message. The refusal should happen as early
as possible (e.g. at the protocol level) and might
not preserve the exact reason for refusal if it
contains non-US-ASCII text.
  supported
extlists Adds the “:list” match type to certain Sieve tests,
and the “:list” argument to the “redirect” action.
The “:list” match type changes tests to match values
against values stored in one or more externally
stored lists. The “:list” argument to the
redirect action changes the redirect action to forward
the message to email addresses stored in the
externally stored list.
   
extracttext adds the “extracttext” action for extracting text from a
MIME body part.
   
fcc Adds the “:fcc” parameter to Sieve action commands
that generate additional messages.
   
fileinto adds the ‘fileinto’ action for delivering to a
mailbox other than the default
  supported
foreverypart adds the “foreverypart” and “break” actions for
iterating through MIME parts of a message.
   
ihave The “ihave” extension provides a means to write
scripts that make use of other extensions only
when they are actually available.
  supported
imap4flags Adds actions and tests for manipulating IMAP flags   partial
imapsieve Add Sieve processing for IMAP events.    
include adds the “include” command to execute other Sieve
scripts, the “return” action from an included script, and
the “global” command and “global” variables namespace to
access variables shared among included scripts.
   
index The “index” extension provides a means to
limit header and address tests to specific
instances when more than one field of a
given type is present.
   
mailbox adds test for checking for mailbox existence and a new
optional argument to fileinto for creating a mailbox
before attempting mail delivery.
   
mboxmetadata adds tests for checking for mailbox metadata item
existence and for retrieving of a mailbox metadata
value.
   
mime adds the “:mime” and “:anychild” tagged arguments to the
“header”, “address”, and “exists” tests.
Adds the “:type”, “:subtype”, “:contenttype”, and “:param” options
when “:mime” is used with the “header” test.
   
redirect-deliverby The “redirect-deliverby” extension extends the
redirect action to allow specification of the BY
ESMTP parameter associated with the Deliver-By SMTP
extension defined in [RFC2852].
   
redirect-dsn The “redirect-dsn” extension extends the redirect
action to allow specification of the NOTIFY and
RET ESMTP parameters associated with the DSN SMTP
extension defined in [RFC3461].
   
regex     supported
reject adds the “reject” action for refusing delivery
of a message. The exact reason for refusal is
conveyed back to the client.
  supported
relational Extends existing conditional tests in Sieve language
to allow relational operators
   
replace adds the “replace” action for replacing a MIME body part
of a message.
   
servermetadata adds tests for checking for server metadata item
existence and for retrieving of a server metadata value.
   
spamtest Provides a test to check for varying likelihood of
an email message being spam.
   
spamtestplus Provides a test to check for varying likelihood of
an email message being spam, possibly using a percentage
range.
   
special-use adds a test for checking whether an IMAP
special-use attribute is assigned for a particular mailbox
or any mailbox, and it adds the ability to file messages into
a mailbox identified solely by a special-use attribute.
   
subaddress adds the ‘:user’ and ‘:detail’ address parts
for use with the address and envelope tests
   
vacation adds an action for generating an auto-reply saying
that the original message will not be read or
answered immediately
   
vacation-seconds adds the “:seconds” parameter to the Sieve Vacation
extension. Implementations that support this MUST also support
“vacation”.
   
variables Adds support for variables to the Sieve filtering language.   supported
virustest Provides a test to check for varying likelihood of
there being malicious content in an email message.