Introduction

Avelsieve or, verbosely, "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 3028.

Avelsieve can either run using different backends, with regard to the storage of the Sieve scripts. Currently, three backends are available:

  1. ManageSieve: This is the transport protocol for uploading, editing, deleting and verifying Sieve scripts on a mail server. A daemon usually listens to port 2000, where clients such as avelsieve can connect and manage the scripts.
    Examples of server implementations that support ManageSieve:
  2. File Backend: For simple storage of scripts in the filesystem. (For instance, the Exim MTA supports such scripts).
  3. LDAP Backend: This is a specialized, contributed backend for users of Sun Messaging Server.

More implementations can be found at http://sieve.info/implementations.

In the future, Avelsieve will also be a part of Cyrusmaster, a web-based Cyrus administration tool. It should provide the same interface of the user's filters to administrators and/or helpdesk staff.

About this implementation

The web interface provides a wizard-like interface that, in the end, creates part of a Sieve script, a so called rule. It then assembles all the rules to form a Sieve script.

For the sake of user-friendliness, it provides only a subset of Sieve's functionality; the main goal was to provide a simple interface for Joe User to create server-side filters without knowing anything about the language itself.

The plugin does not provide a parser; instead, it saves PHP meta-data in the script itself, in order to continue editing and manipulation of the filters. The only thing that is supported is a script called "phpscript" on the Cyrus server. Multiple scripts are not supported yet. I've tried to make it sane enough that it won't break a lot. Some more testing is needed - hence the beta status.

Status

Features

This plugin provides:

..but does not provide:

Screenshots

If you'd like to take some quick look before installing, you can check out some screenshots of avelsieve in action.

Demo

You can see the plugin in action, if you wish. Check the Live Demo page for more information.

Requirements

License

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

Author

Alexandros Vellis, Network Operations Centre, University of Athens
(Personal home page).