Avelsieve or, verbosely, "SIEVE Mail Filters Plugin for
Squirrelmail" is a Squirrelmail
plugin for creating SIEVE scripts on a Cyrus IMAP server
that runs timsieved (Tim's SIEVE daemon).
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.
SIEVE is a mail filtering language, intended for server-side filtering of
emails. See RFC 3028 and Cyrusoft's page about SIEVE for more
details.
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.
At the cost 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.
This is beta software. It 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. Features (and bugs) are added every other day. Insert standard
GPL_Disclaimer(); here.
This plugin provides:
- Simple HTML, no Javascript.
- 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.
- Runs through all the rules, but supports a "stop" command when a rule matches.
- Change the order of rules - or delete them altogether.
- 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, here are some screenshots of avelsieve in action:
![[action.png]](images/avelsieve/.catalogimages/action-png-indexicon.jpg) Action to take in a rule |
![[headermatch.png]](images/avelsieve/.catalogimages/headermatch-png-indexicon.jpg) Header match definition |
![[table.png]](images/avelsieve/.catalogimages/table-png-indexicon.jpg) The table that lists all the rules |
Aside from the screenshots above, you can see the plugin in action, if you
wish. Check the Live Demo page for more information.
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.
There's still a lot of stuff to do. If anyone wants to help, you are mostly
welcome!
- Error handling when creating a folder with invalid characters etc.
- Folder creation does not work while editing an existing rule.
- (1.0) Support "ready-made rules", like: All messages sent
only to me, Place emails alphabetically in folders A-M and N-Z,
Spam Filter etc. (need ideas!)
- (1.0) In a message with List-ID: header, provide the option to
automatically add a filtering rule for mailing list emails.
- Support TLS connects to timsieved, in sieve-php.lib.php.
- Support Sieve
Extension: Relational Tests, the :count matchtype.
- Support
Sieve - body extension (started partial implementation)
- Respond with mime-encoded files. Support the :mime parameter. (info-cyrus
relevant mail)
- (2.0+) Support multiple SIEVE scripts.
- (2.0?) Synchronization between folders mentioned in fileinto rules and
actual folders that exist in the Cyrus tree.
- (3.0+) Sort out the GUI when adding a new rule. Make it more dynamic and
support mixed, complicated AND/OR logic.
Alexandros Vellis,
Network Operations Centre, University of Athens
(Personal home page).
Translators:
- Brazilian Portuguese: Gleydson Mazioli da Silva (gleydson.mazioli @ ima.sp.gov.br)
- Chinese (simplified): Jack Gao (jack @ gaofamily org)
- French: Juan-Francisco Diez (jfdiez @ sitejf com)
- French: John Cotter of Sierre-Energie S.A. (john.cotter @ siesa ch)
- Finnish: Veli Pirttila (titus @ iki.fi)
- German: Torsten Westermann (torsten.westermann @ addcom de)
- German: Karsten Behrens (mail @ karsten-behrens de)
- Greek (Hellenic): Alexandros Vellis (avel @ users.sourceforge.net)
- Icelandic: Þór Sigurðsson (tosi @ hi.is)
- Lithuanian: Tomas Kuliavas (tokul @ users.sourceforge.net)
- Norwegian: Alexander Brill (iowa @ project23.no)
- Romanian: Marius Onica (omar @ uoradea.ro)
- Russian: Vadim Kozlov (vad @ tomsknet ru)
- Spanish: Eduardo Mayoral (emayoral @ arsys es)
- David Mendenhall (david at digitalfountain com), for a lot
of code contributions and good ideas (just check the changelog for 0.4). Many
thanks!
- Dan Ellis (danellis at rushmore dot com), for developing the sieve-php class, since this plugin
was originally based on his class and test scripts.
- Our translators!
- Nikos Voutsinas (nvoutsin at noc uoa gr), for all the ideas, suggestions
and constructive criticism. And for patching Cyrus imapd to work better
with Squirrelmail.
- Maria Nassiakou for bringing us ice cream.
- Thumbnails in this page generated by HTMLThumbnail
1.1.4