Sieve

Description Glossary RFCs Publications Obsolete RFCs

Description:

Type:Email filtering language.
MIME subtype:application/sieve
Working groups: sieve, Sieve Mail Filtering Language.
IANA: Sieve extensions.
Links:  

RFC 3431:

Sieve is a language for filtering e-mail messages at the time of final delivery. It is designed to be implementable on either a mail client or mail server. It is meant to be extensible, simple, and independent of access protocol, mail architecture, and operating system. It is suitable for running on a mail server where users may not be allowed to execute arbitrary programs, such as on black box IMAP servers, as it has no variables, loops, nor the ability to shell out to external programs.


Extensions:

ExtensionDescriptionReferences
bodyProvides a test for matching against the the body of the message being processed. RFC 5173
comparator-*Adds the indicated comparator for use with the :comparator argument. RFC 5228
copy  RFC 3894
dateAdds the ability to test date and time values. RFC 5260
editheaderAdds the actions 'addheader' and 'deleteheader' that modify the header of the message being processed. RFC 5293
encloseAdds the "enclose" action for enclosing a message with a wrapper.RFC 5703
encoded-characterChanges the interpretation of strings to allow arbitrary octets and Unicode characters to be represented using US-ASCII. RFC 5228
enotifyAdds 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. RFC 5435
envelopeAdds the 'envelope' test for testing the message transport sender and recipient address. RFC 5228
envelope-deliverbyThis extension extends the envelope test to allow checking of information associated with the Deliver-By ESMTP extension. RFC 6009
envelope-dsnThis extension extends the envelope test to allow checking of information associated with the DSN ESMTP extension. RFC 6009
environmentProvides 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. RFC 5183
erejectAdds 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. RFC 5429
extracttextAdds the "extracttext" action for extracting text from a MIME body part.RFC 5703
fileintoAdds the 'fileinto' action for delivering to a mailbox other than the default. RFC 5228
foreverypartAdds the "foreverypart" and "break" actions for iterating through MIME parts of a message.RFC 5703
ihaveProvides a means to write scripts that make use of other extensions only when they are actually available. RFC 5463
imap4flagsAdds actions and tests for manipulating IMAP flags. RFC 5232
includeAdds 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. RFC 6609
indexProvides a means to limit header and address tests to specific instances when more than one field of a given type is present. RFC 5260
mailboxAdds test for checking for mailbox existence and a new optional argument to fileinto for creating a mailbox before attempting mail delivery.RFC 5490
mboxmetadataAdds tests for checking for mailbox metadata item existence and for retrieving of a mailbox metadata value.RFC 5490
mimeAdds 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.RFC 5703
redirect-deliverbyThe "redirect-deliverby" extension extends the redirect action to allow specification of the BY ESMTP parameter associated with the Deliver-By SMTP extension. RFC 6009
redirect-dsnThe "redirect-dsn" extension extends the redirect action to allow specification of the NOTIFY and RET ESMTP parameters associated with the DSN SMTP extension. RFC 6009
regex  
rejectAdds the "reject" action for refusing delivery of a message. The exact reason for refusal is conveyed back to the client. RFC 3028, RFC 5429
relationalExtends existing conditional tests to allow relational operators. RFC 5231
replaceAdds the "replace" action for replacing a MIME body part of a message.RFC 5703
servermetadataAdds tests for checking for server metadata item existence and for retrieving of a server metadata value.RFC 5490
spamtestProvides a test to check for varying likelihood of an email message being spam. RFC 5235
spamtestplusProvides a test to check for varying likelihood of an email message being spam, possibly using a percentage range. RFC 5235
subaddressAdds the ':user' and ':detail' address parts for use with the address and envelope tests. RFC 5233
vacationAdds an action for generating an auto-reply saying that the original message will not be read or answered immediately. RFC 5230
vacation-secondsAdds the ":seconds" parameter to the Sieve Vacation extension. Implementations that support this MUST also support "vacation.RFC 6131
variablesAdds support for variables. RFC 5229
virustestProvides a test to check for varying likelihood of there being malicious content in an email message. RFC 5235
vnd.dovecot.*Extends the Sieve language with vendor-defined functionality specific to the Dovecot Secure IMAP server. 

Glossary:


RFCs:

[RFC 3894] Sieve Extension: Copying Without Side Effects.

[RFC 5173] Sieve Email Filtering: Body Extension.

[RFC 5183] Sieve Email Filtering: Environment Extension.

[RFC 5228] Sieve: An Email Filtering Language.

[RFC 5229] Sieve Email Filtering: Variables Extension.

[RFC 5230] Sieve Email Filtering: Vacation Extension.

[RFC 5231] Sieve Email Filtering: Relational Extension.

[RFC 5232] Sieve Email Filtering: Imap4flags Extension.

[RFC 5233] Sieve Email Filtering: Subaddress Extension.

[RFC 5235] Sieve Email Filtering: Spamtest and Virustest Extensions.

[RFC 5260] Sieve Email Filtering: Date and Index Extensions.

[RFC 5293] Sieve Email Filtering: Editheader Extension.

[RFC 5429] Sieve Email Filtering: Reject and Extended Reject Extensions.

[RFC 5435] Sieve Email Filtering: Extension for Notifications.

[RFC 5436] Sieve Notification Mechanism: mailto.

[RFC 5437] Sieve Notification Mechanism: Extensible Messaging and Presence Protocol (XMPP).

[RFC 5463] Sieve Email Filtering: Ihave Extension.

[RFC 6009] Sieve Email Filtering: Delivery Status Notifications and Deliver-By Extensions.

[RFC 6609] Sieve Email Filtering: Include Extension.


Publications:


Obsolete RFCs:

[RFC 3028] Sieve: A Mail Filtering Language.

[RFC 3431] Sieve Extension: Relational Tests.

[RFC 3598] Sieve Email Filtering -- Subaddress Extension.

[RFC 3685] SIEVE Email Filtering: Spamtest and VirusTest Extensions.


Description Glossary RFCs Publications Obsolete RFCs