Internet Assigned Numbers Authority

Sieve Extensions

Created
2000-11
Last Updated
2024-10-15
Available Formats

XML

HTML

Plain text

Registries included below

Sieve Extensions

Reference
[RFC5228]
Available Formats

CSV
Range Registration Procedures
vendor-controlled (name begins with "vnd.") First Come First Served
IETF-controlled (no "vnd." prefix) Standards track or IESG-approved experimental RFC
Capability name Description RFC number Contact address Registration date
body Provides a test for matching against the the body of the message being processed [RFC5173] [Sieve_discussion_list]
comparator-* (anything starting with "comparator-") adds the indicated comparator for use with the :comparator argument [RFC4790][RFC5228] (Sieve base spec) [Sieve_discussion_list]
convert adds a new Sieve test and action that enable Sieve scripts to perform data conversions on the message being delivered. [RFC6558] [Sieve_discussion_list]
copy [RFC3894] [Jutta_Degener]
date The "date" extension gives Sieve the ability to test date and time values. [RFC5260] [Sieve_discussion_list]
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. [RFC7352] [Sieve_discussion_list] 2014-06-30
editheader Adds actions 'addheader' and 'deleteheader' that modify the header of the message being processed [RFC5293] [Sieve_discussion_list]
enclose adds the "enclose" action for enclosing a message with a wrapper. [RFC5703] [Sieve_discussion_list]
encoded-character changes the interpretation of strings to allow arbitrary octets and Unicode characters to be represented using US-ASCII [RFC5228] (Sieve base spec) [Sieve_discussion_list]
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. [RFC5435] [Sieve_discussion_list]
envelope adds the 'envelope' test for testing the message transport sender and recipient address [RFC5228] (Sieve base spec) [Sieve_discussion_list]
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]. [RFC6009] [Sieve_discussion_list]
envelope-dsn The "envelope-dsn" extension extends the envelope test to allow checking of information associated with the DSN ESMTP extension defined in [RFC3461]. [RFC6009] [Sieve_discussion_list]
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. [RFC5183] [Sieve_discussion_list]
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. [RFC5429] [Sieve_discussion_list]
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. [RFC6134] [Sieve_discussion_list]
extracttext adds the "extracttext" action for extracting text from a MIME body part. [RFC5703] [Sieve_discussion_list]
fcc Adds the ":fcc" parameter to Sieve action commands that generate additional messages. [RFC8580] [Sieve_discussion_list] 2019-01-29
fileinto adds the 'fileinto' action for delivering to a mailbox other than the default [RFC5228] (Sieve base spec), [RFC5490] (:create), [RFC3894] (:copy), [RFC5232] (:flags) [Sieve_discussion_list]
foreverypart adds the "foreverypart" and "break" actions for iterating through MIME parts of a message. [RFC5703] [Sieve_discussion_list]
ihave The "ihave" extension provides a means to write scripts that make use of other extensions only when they are actually available. [RFC5463] [Sieve_discussion_list]
imapsieve Add Sieve processing for IMAP events. [RFC6785] [Sieve_discussion_list]
imap4flags Adds actions and tests for manipulating IMAP flags [RFC5232] [Sieve_discussion_list]
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. [RFC6609] [Sieve_discussion_list]
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. [RFC5260] [Sieve_discussion_list]
mailbox adds test for checking for mailbox existence and a new optional argument to fileinto for creating a mailbox before attempting mail delivery. [RFC5490] [Sieve_discussion_list]
mailboxid adds a test for checking mailbox existence by OBJECTID, and new optional arguments to fileinto and :fcc that allow selecting the destination mailbox by OBJECTID. [RFC9042] [EXTRA_discussion_list] 2021-03-30
mboxmetadata adds tests for checking for mailbox metadata item existence and for retrieving of a mailbox metadata value. [RFC5490] [Sieve_discussion_list]
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. [RFC5703] [Sieve_discussion_list]
processcalendar Adds the "processcalendar" action command to add and update items on a user's calendars. [RFC9671] [Sieve_discussion_list] 2024-08-16
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]. [RFC6009] [Sieve_discussion_list]
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]. [RFC6009] [Sieve_discussion_list]
regex [draft-murchison-sieve-regex-07] [Kenneth_Murchison]
reject adds the "reject" action for refusing delivery of a message. The exact reason for refusal is conveyed back to the client. [RFC5429] [Sieve_discussion_list]
relational Extends existing conditional tests in Sieve language to allow relational operators [RFC5231] [Sieve_discussion_list]
replace adds the "replace" action for replacing a MIME body part of a message. [RFC5703] [Sieve_discussion_list]
servermetadata adds tests for checking for server metadata item existence and for retrieving of a server metadata value. [RFC5490] [Sieve_discussion_list]
spamtest Provides a test to check for varying likelihood of an email message being spam. [RFC5235] [Sieve_discussion_list]
spamtestplus Provides a test to check for varying likelihood of an email message being spam, possibly using a percentage range. [RFC5235] [Sieve_discussion_list]
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. [RFC8579] [Sieve_discussion_list] 2019-01-29
subaddress adds the ':user' and ':detail' address parts for use with the address and envelope tests [RFC5233] [Sieve_discussion_list]
vacation adds an action for generating an auto-reply saying that the original message will not be read or answered immediately [RFC5230] [Sieve_discussion_list]
vacation-seconds adds the ":seconds" parameter to the Sieve Vacation extension. Implementations that support this MUST also support "vacation". [RFC6131] [Sieve_discussion_list]
variables Adds support for variables to the Sieve filtering language. [RFC5229] [Sieve_discussion_list]
virustest Provides a test to check for varying likelihood of there being malicious content in an email message. [RFC5235] [Sieve_discussion_list]
vnd.cyrus.* (anything starting with "vnd.cyrus.") Extends the Sieve language with vendor-defined functionality specific to the Cyrus IMAP server ([http://www.cyrusimap.org]). Not applicable [Kenneth_Murchison] 2020-05-05
vnd.dovecot.* (anything starting with "vnd.dovecot.") Extends the Sieve language with vendor-defined functionality specific to the Dovecot Secure IMAP server ([http://www.dovecot.org]). Not applicable [Stephan_Bosch][Timo_Sirainen] 2008-07-28
vnd.stalwart.* (anything starting with "vnd.stalwart.") Extends the Sieve language with vendor-defined functionality specific to the Stalwart JMAP server [http://www.stalw.art]. Not applicable [Mauro_De_Gennaro] 2022-11-02

Sieve URN Parameters

Registration Procedure(s)
Specification Required
Expert(s)
Unassigned
Reference
[RFC6134]
Available Formats

CSV
URN Parameter Name Reference
addrbook [RFC6134], section 2.6

Sieve Actions

Registration Procedure(s)
Expert Review
Expert(s)
Alexey Melnikov, Ken Murchison
Reference
[RFC9122]
Available Formats

CSV
Name Description References Capabilities Action Interactions Cancels Implicit Keep? Can Use With IMAP Events? Comments
addheader Add a header field to the existing message header [RFC5293] "editheader" All subsequent tests and actions apply to the altered message No Yes
addflag Add IMAP flags to a list of IMAP flags that would be set on the message if it gets delivered to a mailbox [RFC5232][RFC5229] "imap4flags", "variables" No Yes
convert Convert body parts from one MIME type to another [RFC6558] "convert" All subsequent tests and actions apply to the altered message No Yes
deleteheader Remove a header field from the existing message header [RFC5293] "editheader" All subsequent tests and actions apply to the altered message No Yes
discard Silently throw away the message [RFC5228] Yes Yes
enclose Enclose a message as an attachment to a new message [RFC5703] "enclose" All subsequent tests and actions except "redirect" apply to the altered message No Yes
ereject Refuse delivery of the message [RFC5429] "ereject" This action is incompatible with the "vacation" action. Typically is not permitted with actions that cause mail delivery, such as "keep", "fileinto", and "redirect" Yes No
extracttext Store text of a MIME part into a variable [RFC5703][RFC5229] "extracttext", "variables" No Yes
fileinto Deliver the message into the specified mailbox [RFC5228][RFC3894][RFC5232][RFC5490][RFC9042][RFC8579] "fileinto", "copy", "imap4flags", "mailbox", "mailboxid", "special-use" Use of :copy suppresses cancellation of implicit keep Yes Yes
keep File the message into the user's main mailbox [RFC5228][RFC5232] "imap4flags" Yes Yes
notify Send a notification to a user [RFC5435][RFC8580] "enotify", "fcc" No Yes
processcalendar Add and update items on a user's calendars [RFC9671][RFC5229][RFC6134] "processcalendar", "variables", "extlists" This action is incompatible with the "reject" and "ereject" actions. No No
redirect Send (forward) the message to another user [RFC5228][RFC3894][RFC6009][RFC6134] "copy", "redirect-dsn", "redirect-deliverby", "extlists" Use of :copy suppresses cancellation of implicit keep Yes Yes
reject Refuse delivery of the message [RFC5429] "reject" This action is incompatible with the "vacation" action. Typically is not permitted with actions that cause mail delivery, such as "keep", "fileinto", and "redirect" Yes No
removeflag Remove IMAP flags from a list of IMAP flags that would be set on the message if it gets delivered to a mailbox [RFC5232][RFC5229] "imap4flags", "variables" No Yes
replace Replace a MIME part [RFC5703] "replace" All subsequent tests and actions except "redirect" apply to the altered message No Yes
set Store a value in a variable [RFC5229] "variables" No Yes
setflag Set IMAP system flags or keywords that would be set on the message if it gets delivered to a mailbox [RFC5232][RFC5229] "imap4flags", "variables" No Yes
vacation Implement a vacation autoresponder [RFC5230][RFC6131][RFC8580] "vacation", "vacation-seconds", "fcc" This action is incompatible with the "reject" and "ereject" actions. No No

Contact Information

ID Name Organization Contact URI Last Updated
[EXTRA_discussion_list] EXTRA discussion list mailto:extra&ietf.org
[Jutta_Degener] Jutta Degener Sendmail, Inc. 6425 Christie Ave, 4th Floor Emeryville, CA 94608 mailto:jutta&sendmail.com
[Kenneth_Murchison] Kenneth Murchison mailto:sieve&cyrusimap.org 2020-05-05
[Mauro_De_Gennaro] Mauro De Gennaro mailto:mauro&stalw.art 2022-11-02
[Sieve_discussion_list] Sieve discussion list mailto:sieve&ietf.org
[Stephan_Bosch] Stephan Bosch mailto:stephan&rename-it.nl
[Timo_Sirainen] Timo Sirainen mailto:tss&iki.fi