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:
- 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:
- File Backend: For simple storage of scripts in the
filesystem. (For instance, the Exim MTA supports such scripts).
- 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.
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.
-
Devel Branch (1.9): Considered beta quality.
This release should be considered 'beta quality'. At the moment it works
for me without any major glitches, but who knows, there might be a bug that
DoS'es the Apache Server by eating all of its memory in there.
- Stable Branch (1.0):
This plugin has been out for a while and is known to work pretty well. You'll
have to check for yourselves if it is for a production environment. Insert
standard GPL_Disclaimer(); here.
This plugin provides:
- Simple HTML interface.
- Javascript functionality that enhances the user interaction, however there
is HTML-only fallback for accessibility.
- Match messages based on email headers, size, or apply to all messages.
- Configurable number of header matches.
- Support of keeping a message, move to an existing or new folder, email redirection.
- Supports Sieve Vacation.
- Supports Sieve Notification action.
- Create a rule on-the-fly, while reading a message in Squirrelmail. This
function will auto-detect List-Id: headers for mailing lists.
- Runs through all the rules, but supports a stop command when a rule matches.
- Change the order of rules - or delete them altogether.
- Enable / Disable rules on the fly, without deleting them.
- Make a textual description of the rule.
- Localizable.
- Automatic adaption to the capabilities of each site's Sieve.
..but does not provide:
If you'd like to take some quick look before installing, you can check out
some screenshots of avelsieve in
action.
You can see the plugin in action, if you wish. Check the Live Demo page for more information.
- A Sieve management daemon (ManageSieve-compatible). It has been tested with
Cyrus IMAP server and its
timsieved Sieve parser. There have been reports about it working with
DBMail, too.
- Squirrelmail version 1.4.9 or
greater.
- The multibyte
string (mbstring) PHP extension is very much recommended. It provides very
robust conversion between character sets. Otherwise, recode or iconv will also
do the job.
- sieve-php.lib, a PHP class
for transporting Sieve scripts, originally by Dan Ellis. Included.
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.
Alexandros Vellis,
Network Operations Centre, University of Athens
(Personal home page).