An Email Filtering Language

This page is provided as an informal coordination point for activities related to the Sieve mail filtering language. Sieve is a proposed internet-standard language for filtering mail at the time of final delivery.

This page last updated May 06, 2004.


Sieve Documents

The current set of official Internet Drafts (and subsequently, any RFC or Standard documents) can be definitively found at the IETF website, which includes links to the RFC Editors. Search for the keyword "Sieve". Note some drafts under discussion may be more recent than those submitted to the IETF.


The following are known RFCs relating to Sieve.

RFC Name/Location Author Description
Sieve: A Mail Filtering Language
RFC 3028 (Janurary 2001)
Tim Showalter The Sieve RFC (the base specification)
Sieve Extension: Relational Tests
RFC 3431 (December 2002)
Wolfgang Segmuller Relational Tests
Adds a relational operator for field values and for the number of entities in header fields and addresses
Sieve Email Filtering: Subaddress Extension
RFC 3598 (September 2003)
Ken Murchison Subaddress Extension
Specifies an extension to make matching different parts of subaddresses easier
SIEVE Email Filtering: Spamtest and VirusTest Extensions
RFC 3685 (February 2004)
Cyrus Daboo Spam and virus tests
Adds new generic tests for spam and virus checking.

Internet Drafts

The following are known Internet Drafts relating to Sieve.

Draft Name/Location Author Description
draft-melnikov-sieve-imapflags-06.txt Alexey Melnikov A proposed Sieve extension that would allow specification of modification of IMAP message flags on an IMAP server
draft-showalter-sieve-vacation-05.txt Tim Showalter Sieve Vacation Extension
Provides "Vacation" style auto-reply processing through a Sieve extension (3rd version)
draft-murchison-sieve-regex-07.txt Ken Murchison Regular Expression Extension
Specifies an extension to add regular expression match type for comparisons
draft-martin-managesieve-04.txt Tim Martin A Protocol for Remotely Managing Sieve Scripts
draft-martin-sieve-notify-02.txt EXPIRED
Local Copy of -01
Tim Martin Sieve Instant Notification Extension
draft-degener-sieve-body-02.txt Jutta Degener Allows tests on the body of a message
draft-daboo-sieve-include-02.txt Cyrus Daboo Include Extension
Allows one script to include another.
draft-homme-sieve-variables-03.txt Kjetil Torgrim Homme Variables Extension
Adds variables to the SIEVE language.
draft-degener-sieve-multiscript-01.txt Jutta Degener Sequential Execution of Multiple Scripts Extension
Defines sieve behaviour when multiple scripts are executed on a message
draft-degener-sieve-editheader-01.txt Jutta Degener "editheader" Extension
Allows headers in the message being processed to be added, changed or deleted.
draft-degener-sieve-copy-03.txt Jutta Degener "copy" Extension
Adds a keyword to prevent cancellation of implicit keep for fileinto and redirect actions
draft-elvey-refuse-sieve-02.txt Matthew Elvey "refuse" Extension
Allow the mail system to refuse email during the SMTP transaction as opposed to doing a reject or discard.
draft-daboo-sieve-mime-00.txt Cyrus Daboo "mime-test" Extension
Allow tests on MIME headers.
draft-madanganeshv-sieve-remove-attach-00.txt Madan Ganesh Velayudham "fileinto-except" Extension
Allow remove of specific attachments when filing messages.
draft-madanganeshv-sieve-stat-01.txt Madan Ganesh Velayudham "STATISTICS" Extension to MANAGESIEVE
Allows users to get statistics on how SIEVE has filtered their messages.
draft-hansen-sieve-loop-00.txt Tony Hansen Mechanism for looping and testing each mime part in a message.

White Papers and other documents

The "Sieve Manifesto", aka Sieve White Paper, aka "The Sieve Language and a General Model for Delivery and Interoperable Filtering in Internet Mail" is available in PDF format here. If you click here you can see a somewhat uglier version in HTML.

This is version 2.00, updated in February, 2001 to reflect the evolution of Sieve to date.

There was a Network World article on the front page in August, 2000.

Slides were prepared by Tim Showalter for the formal Sieve BOF at the 41st IETF at Los Angeles, California, describing Sieve Syntax. They're here in PostScript format. Please note that portions of this Sieve syntax are now obsolete, and that the complete presentation was not made at this meeting due to time constraints (see also the minutes for that meeting, linked below in the history and milestones section).

There is a brief description of SIEVE in the new O'Reilly Managing IMAP book by Dianna & Kevin Mullet.

About this Website

These pages are sponsored and maintained by Cyrusoft International, Inc., as a general service to the community, to try to support development, standardization, and implementation of Sieve and related tools and standards. Copyright and ownership of any linked document, script, or other contributed piece remains the sole property of its original owner/author. Cyrusoft in no way makes any ownership claims, except as specifically listed for any items it may have contributed. In all cases, users of this website are asked to carefully look for the specific copyright language and restrictions of each individual document.