This is an old revision of the document!

Sieve Libraries, Classes, APIs

Sieve (The Language Itself)

The following projects provide parsers for the Sieve Language.

  • JSieve is a Java implementation of the Sieve mail filtering language. It 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.
  • libSieve implements the Sieve mail sorting language, per RFC 3028. LibSieve was based on the Cyrus Imapd project, but offers a standalone library that other projects can use.
  • libsieve-php implements the Sieve mail sorting language, per RFC 3028 and extensions, for PHP. Currently under development. ManageSieve support is planned.
  • Net::Sieve::Script is a Perl interface to parse and write Sieve scripts. Works together with Net::Sieve (below).

ManageSieve (The Transport Protocol for Script Management)

The following projects provide support for ManageSieve; the purpose is to upload and activate a Sieve script to an email service. It is assumed that the actual Sieve script is created by other means (e.g. manually or through a client UI).

  • PEAR's Net_Sieve is another PHP ManageSieve class that is bundled in PHP's PEAR.
  • Net::Sieve on CPAN provides a Perl library interface. This is derived from the sieve-connect client. See also Net::Sieve::Script (above).