What is jSieve?

jSieve is a Java implementation of the Sieve mail filtering language defined by RFC 3028 . jSieve is implemented as a language processor that can be plugged into any internet mail application to add Sieve support.

jSieve is a subproject of Apache JAMES . All who are interested in developing jSieve and JAMES will be warmly welcomed on the mailing lists .

jSieve consists of three products:

  1. Apache JSieve is a Sieve library coded in Java.
  2. Apache JSieve Mailet is a Mailet which builds on the JSieve library to create a comprehensive server side Sieve filtering system.
  3. Apache JSieve Utilities contains utility classes helpful when using Sieve but not considered sufficiently core to be included in the main library.

What is Sieve?

Sieve is an extensible mail filtering language. It's limited expressiveness (no loops or variables, no tests with side effects) allows user created scripts to be run safely on email servers. Sieve is targeted at the final delivery phase (where an incoming email is transferred to a user's mailbox). Sieve scripts are composed of commands. Control commands manage the execution of the script. Test commands define side-effect free criteria. Action commands are mail operations to be performed.

Extensions Supported


Sieve-in-xml is an Internet Draft. It describes a method for converting Sieve scripts to and from XML fragments. JSieve Utilities contains an experimental preview of a subset of this draft to allow early feedback. More...



Aug/2008 - jSieve-0.2 released

The Apache JAMES team is happy to announce the availability of Apache jSieve 0.2 . This first public release is a major milestone for JSieve.