SIEVE for Squirrelmail 0.6 (beta)

Introduction

This is a Squirrelmail plugin for creating SIEVE scripts on a Cyrus IMAP server that runs timsieved (Tim's SIEVE daemon).

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.

Version 0.6 was released on 29/5/2002. Read further down for the Changelog.

IMPORTANT: A change in the creation and handling of header-type filtering rules will mean that the existing rules that your users have probably created in the pre-0.6 era will not be displayed anymore. This might not be catastrophic, but it would be better for the users to recreate the scripts anyway, to avoid any confusion.

About this implementation

The web interface provides a wizard-like interface that, in the end, creates part of a SIEVE script, a 'rule' as I call it. It then assembles all the rules to form a SIEVE script.

It puts the PHP variable (associative array $sess), serialized & base64-encoded, on a comment on the SIEVE script, which I then get back when I want to get my rules back and show them to Joe User. No, I didn't have the time nor the motivation to write a complete SIEVE parser.

Thus, the only thing that is supported is a script called "phpscript" on the Cyrus server. Multiple scripts are not supported. I've tried to make it sane enough that it won't break a lot. Some more testing is needed - hence the alpha state.

I haven't followed the Squirrelmail coding style, sorry. I use tabs. If someone wants to adapt this to SM-style, feel free to do so.

table.php is the core script that shows a table of the current rules. addrule.php displays a wizard-like interface for adding a new rule. It asks for the type of rule, when it triggers, and what to do when it triggers.

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.

Features

This plugin provides:

..but does not provide:

Features with Seniority (Bugs)

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.

Download

Installation and Configuration

Very easy. Just untar it under Squirrelmail's plugin directory, and use configure/conf.pl or ./configure or vi config/config.php to add the plugin as usual.

Afterwards, check avelsieve/config.php and change the default values in case they do not satisfy you. This file is self documented with comments.

Please note that if you want to use the existing translations, at the moment you have to copy the files avelsieve/locale/lang/LC_MESSAGES/avelsieve.* to your $sm_root/locale/lang/LC_MESSAGES/. This may be fixed in the future.

History

0.6 (29/5/2002)

0.5 (19/4/2002)

0.4 (4/4/2002)

0.3

0.2

0.1

Pre 0.1

TODO

Author

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

Translators:

Thanks, Credits