| Sieve |
| Description | Glossary | RFCs | Publications | Obsolete RFCs |
| Type: | Email filtering language. |
| MIME subtype: | application/sieve |
| Working groups: | sieve, Sieve Mail Filtering Language. |
| Links: | Sieve extensions. |
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:
| Extension | Description | References |
|---|---|---|
| body | Provides 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 | |
| date | Adds the ability to test date and time values. | RFC 5260 |
| editheader | Adds the actions 'addheader' and 'deleteheader' that modify the header of the message being processed. | |
| encoded-character | Changes the interpretation of strings to allow arbitrary octets and Unicode characters to be represented using US-ASCII. | RFC 5228 |
| 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. | |
| envelope | Adds the 'envelope' test for testing the message transport sender and recipient address. | RFC 5228 |
| environment | 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. | RFC 5183 |
| fileinto | Adds the 'fileinto' action for delivering to a mailbox other than the default. | RFC 5228 |
| imap4flags | Adds actions and tests for manipulating IMAP flags. | RFC 5232 |
| index | Provides a means to limit header and address tests to specific instances when more than one field of a given type is present. | RFC 5260 |
| refuse | ||
| regex | ||
| reject | RFC 3028 | |
| relational | Extends existing conditional tests to allow relational operators. | RFC 5231 |
| spamtest | Provides a test to check for varying likelihood of an email message being spam. | RFC 5235 |
| spamtestplus | Provides a test to check for varying likelihood of an email message being spam, possibly using a percentage range. | RFC 5235 |
| subaddress | Adds the ':user' and ':detail' address parts for use with the address and envelope tests. | RFC 5233 |
| vacation | Adds an action for generating an auto-reply saying that the original message will not be read or answered immediately. | RFC 5230 |
| variables | Adds support for variables. | RFC 5229 |
| virustest | Provides a test to check for varying likelihood of there being malicious content in an email message. | RFC 5235 |
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 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 |