Screen shots

Junk Email Filter

Security Notice
Phishing campain
Version 1.4.15
Security Upgrade
Plugins - Avelsieve - Sieve Filters
Category: Filters & Spam

Avelsieve or Sieve Mail Filters Plugin for Squirrelmail is a Squirrelmail plugin for creating Sieve scripts on a Sieve-compliant mail server.

Sieve is a mail filtering language, intended for server-side filtering of emails. For more information, please visit http://sieve.info or read RFC 5228.

Avelsieve has its own homepage and trac ticketing system. Please visit http://email.uoa.gr/avelsieve/ for more information.

Author: Alexandros Vellis
Network Operations Centre, University of Athens

Version 1.9.9 (alpha)
by Alexandros Vellis on Jun 1, 2009
[ avelsieve-1.9.9.tar.gz tarball (10274 d/l) Help ]
Requires: PHP5, Sieve-compliant IMAP server, javascript_libs plugin (optional but higly recommended, see note below)


This is a new alpha version of Avelsieve. It is not recommended for production usage.

From this version onwards, PHP5 is required and PHP4 will not be supported.

More information about this release:


  • New feature: Support for the Sieve Date Extension. This allows conditions and tests against the message's date/time, or the date and time during the execution of the Sieve script.
  • New feature: Support for the Sieve Index Extension. This allows for checks against a specific header index (for instance, the second Received: header counting from the last one).
  • New feature: Support for the Sieve IMAP4Flags Extension. This allows additional Sieve actions that set specific IMAP flags or labels to messages. Standard IMAP4 flags, Thunderbird labels and even custom labels are supported.
  • New User Interface: the condition of a rule is now dynamically driven via Javascript. New conditions can be added or changed on-the-fly via AJAX, without reloading the entire page. Also, dynamic blocks within a single condition are supported.
  • All Javascript functions are now under the AVELSIEVE namespace so as not to pollute the global namespace.
  • Vacation action has been renamed to "Vacation / Autoresponder", since now it will be used more often for out-of-office- or out-of-service- style notices because of the date-time feature.
  • New Debug options in config.php, allow testing of avelsieve features without the actual feature existing on the server.
  • Eliminate PHP Notice in STARTTLS check in ManageSieve library.
  • Bugfix: Rule actions icons should now be properly vertically-aligned.

This release is sponsored by Alexey Melnikov (Isode Ltd.) and by ellak.gr.

Older versions

Version 1.9.8 (alpha)
by Alexandros Vellis on May 7, 2009
[ avelsieve-1.9.8.tar.gz tarball (6377 d/l) Help ]
Requires: Sieve-compliant IMAP server, javascript_libs plugin (optional but higly recommended, see note below)


Note: For the development release 1.9.8, at the moment you will also need the javascript_libs squirrelmail "library" plugin. It is higly recommended. Just grab the following file, untar it under your squirrelmail/plugins/ directory and enable the plugin in Squirrelmail:


  • A large part of the code that is the part of the rule editing procedure has been rewritten, in order to accomodate for a more flexible way to add new types of rules. The special "SPAM rule" has been rewritten to comply with this scheme.
  • A new-style SPAM rule has been implemented. (Rule #11)
  • Split custom SPAM Sieve rule building to its own file (include/sieve_buildrule.10.inc.php); this allows for easier defining of customized rules, too.
  • A new, global Whitelist rule (Rule #12) has been implemented, for the SPAM rules to take advantage of.
  • New, "Custom Sieve Code" rule (Rule #13) has been implemented; this allows users to enter directly Sieve code snippets as a rule. This feature is still alpha / experimental, and needs a rework on the error handling, when there are parse errors. Feature contributed by Konstantinos Koukopoulos (kouk /at/ noc.uoa.gr)
  • Miscellaneous code movement and restructuring. The processing of user input has been moved to the rule classes; addspamrule.php has been replaced with the class that extends the edit class; an intermediate class for SPAM-rules has been implemented; better object consistency is followed.
  • UI: The "Add New Rule" buttons are now links, and are displayed both at the top and at the bottom of the rule table.
  • UI: Major rework in the UI of both the Rules Table and the Add New Rule / Edit Rule pages. The buttons and links have been rearranged for better usability, many messages have been changed, visual clues have been introduced, options and help texts are hidden with Javascript etc.
  • UI: If a vacation rule is active, then display a notice in the rules table page and upon logging in to Squirrelmail, that reminds the user. (Idea inspired with help by Joel Davis)
  • UI: Vacation options have been aligned properly; text has been changed accordingly.
  • Sieve: Vacation Subject is now supported.
  • New functionality: "Insert New Rule Here"
  • New functionality: "Move Rule to Position" (requires Javascript)
  • Avelsieve now highly recommends the use of javascript_libs plugin for some visual effects / UI improvements.
  • UI: Added new icons and used different ones, to improve usability. Icons are provided by Mark James' famfamfam.com.
  • UI: Added new icon "theme" based also on famfamfam.com. This theme is the default from now on.
  • UI: Removed unnecessary text / clutter from rules table page.
  • UI: The notify action options have been aligned in a table.
  • Added an LDAP Sieve storage backend, compatible with Sun Messaging Server's Sieve features. Kindly contributed by: Laurent Buset, Pascal Maes and Boris Maroutaeff of Universite catholique de Louvain.
  • The DO_Sieve_* backends should have a separate retrieve() method for retrieving the raw Sieve script. Currently, only the Managesieve backend has it.
  • Various phpdocumentor fixes.
  • Bugfix: When editing rule with redirect action, the 'keep' option was always checked. (Thanks to Jonathan Lumpkin).
  • Version check for Squirrelmail search integration is performed outside of plugin registration. Ensures compatibility with Squirrelmail CVS as of 2006-10-15 and Squirrelmail 1.5.2.
  • Hook registrations have been updated to be Squirrelmail-compatible (as of SM-1.5 SVN HEAD 2007-01-17). Thanks to Marc Groot Koerkamp!
  • Initial "configtest" module for Squirrelmail's configuration test.
  • Bugfix: The notify action is displayed only if the notify capability exists.
  • Bugfix: The notify method is displayed properly in the verbose rules table.
  • Bugfix: When displaying as "source", also display the disabled status.
  • Bugfix: Allow empty vacation :addresses field again. (Thanks to Satadru Pramanik)
  • Bugfix: Authorization login for Squirrelmail 1.5 CVS with authz plugin now works.
  • Moved Javascript logic to its own file, and cleaned up edit.php so that it will load the javascript separately when it is a popup window.
  • Added new helper / javascript functions in include/html_main.inc.php: js_toggle_display(), determineState(), stateCheckbox(), stateVisibility(), to help with javascript-enhanced UI.
  • New concept of a "unique" rule: this type of Sieve rule can only exist once in a Sieve script, because UI-wise it would not make sense to have a lot of them. For example, the new junk mail rule and the whitelist are such constructs.
  • New concept for "undeletable" rule. This cannot be deleted from the UI. The purpose is to allow more user-friendly junk mail or predefined rules. The new junk mail rule is such a rule.
  • The "tech" description of the rules was very similar to "terse", did not offer anything UI-wise but clutter and therefore has been removed completely.
  • More appropriate style for the "source" display of rules.
  • Gathered all CSS styles used, in include/styles.inc.php
  • New functionality for returning back to another page, after editing a rule. Useful for editing Junk Mail options, Whitelist, custom rules made from messages etc.
  • Junk Mail Options are accessible from folder "INBOX.Junk" or "Junk", as well as from Options Page.
  • Version and info functions have been adjusted for greater Squirrelmail-guidelines compliance.
  • Corrected header X-Mailing-List in the default select box for header matching. (Thanks to Jan Hauke Rahm)
  • Configuration files are now split on a per-customized-rule basis, making it a bit easier to upgrade avelsieve.
  • Minor comsetic changes in debug mode output, until a better error handling is available for the Data Object classes.
  • Remove unused / badly designed 'frontend' option from sieve actions classes.
  • Bugfix: When there are no capabilities to be "required", don't output an empty require [] line. ( Stephan Bosch)
  • Bugfix: in the ManageSieve library, ignore case for the available capabilities. ( Stephan Bosch)
  • Fixes in ManageSieve library with regard to deleting scripts and making avelsieve operational with Dovecot IMAP server, tickets #246, #247.
  • TLS option in ManageSieve can be explicitly disabled.
  • Allow the + (plus) character in email addresses field of forward action so that subaddressing is possible; thanks to Philipp Dreimann.
  • Fixed typo (regural -> regular)
  • Fixed typo in default config file (header X-MailingList became X-Mailing-List). Thanks to Debian package maintainer Jan Hauke Rahm.

Version 1.9.7 (Beta)
by Alexandros Vellis on Jul 24, 2006
[ avelsieve-1.9.7.tar.gz tarball (13011 d/l) Help ]
Requires: SquirrelMail 1.4.0+, IMAP server that supports Sieve (RFC3028) + ManageSieve (e.g. Cyrus IMAP)


Avelsieve 1.9.7 focuses on important bug fixes that aim for a stable 2.0 release.

  • Compatible with Squirrelmail 1.5.2 (new init scheme).
  • Add STARTTLS feature for ManageSieve class (thanks to Anish Mistry)
  • All HTML markup is now valid HTML 4.01. Page display should work in Konqueror properly.
  • Small improvement in order to make the plugin usable for non-javascript users.
  • Bugfix: When adding a new rule and an error occurs, then do not lose any changes applied so far.
  • Bugfix: Typo in edit.php, prevented rule from being added dynamically (e.g. from Search Results or from Message View) when the Filters page had not been previously loaded.
  • Bugfix: Due to a programming error, the wrong capabilities were required in the Sieve script.
  • Bugfix: Capabilities check is performed correctly.
  • Bugfix: Body Sieve code lacked spaces: body :contains"foo" , which resulted in syntax error.
  • Bugfix: Now actually display link to create filter in search integration feature, when Compose in new window is true.
  • Bugfix: Search Integration: When no search criteria could be expressed as sieve rules, then the Create Filter link is not displayed.
  • Bugfix: Create Folder when adding rule sometimes did not work.
  • Bugfix: Nasty bug that only showed up with Opera and large (>200 chars) Vacation Addresses: field. The "Edit" form would not be submitted correctly when Addresses was > 200 chars. Also submitted bug #221983 to Opera.
  • Cleaned up the skeleton file for new backends.

Version 1.0.1 (STABLE)
by Alexandros Vellis on Dec 22, 2004
[ avelsieve-1.0.1.tar.gz tarball (11306 d/l) Help ]
Requires: SquirrelMail 1.4.0+, IMAP server that supports SIEVE (RFC3028) + MANAGESIEVE (e.g. Cyrus IMAP, DBMail)

  • Fix off-by-one serious error in MANAGESIEVE class. The bug could DoS the Apache server by getting PHP into an endless loop. (Sourceforge Bug Tracker Link)

If you have problems with the download or decompressing...
Internet Explorer
Right-click on the file, then select "Save Target As"
Firefox, Mozilla, Netscape
Right-click on the file, then select "Save Link As"
Right-click on the file, then select "Save Link Document As"
Lynx and Links
Press "d" on the link to download the file directly.
  • Untarring problems: Your browser might have un-gzipped it for you automatically. Try just "tar xvf" instead of "tar xvfz". Also, the plugins archive isn't gzipped (it is a tarball of .tar.gz files)
  • Macintosh users: Just hold down your mouse button to get the menu instead of right-clicking.
  • If all else fails, seek our help
© 1999-2016 by The SquirrelMail Project Team