
  Introduction

   Avelsieve or, verbosely, "Sieve Mail Filters Plugin for Squirrelmail"
   is a [1]Squirrelmail [2]plugin for creating [3]Sieve scripts on a
   Cyrus IMAP server that runs timsieved (Tim's Sieve daemon).

   Avelsieve will also be a part of [4]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 [5]RFC 3028 and [6]Cyrusoft's page about Sieve for more
   details.

  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

     * 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.

  Features

   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:
     * A Sieve parser.

  Screenshots

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

  Demo

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

  Requirements

     * A Sieve management daemon (ManageSieve-compatible). It has been
       tested with [9]Cyrus IMAP server and its timsieved Sieve parser.
       There have been reports about it working with [10]DBMail, too.
     * [11]Squirrelmail version 1.4.0 or greater.
     * The [12]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.
     * [13]sieve-php.lib, a PHP class for transporting Sieve scripts, by
       [14]Dan Ellis. Included.

  License

   This program is free software; you can redistribute it and/or modify
   it under the terms of the [15]GNU General Public License as published
   by the [16]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. [17]See the GNU
   General Public License for more details.

  Author


    [18]Alexandros Vellis, [19]Network Operations Centre, [20]University
    of Athens
    ([21]Personal home page).

References

   1. http://www.squirrelmail.org/
   2. http://www.squirrelmail.org/plugins.php
   3. http://www.cyrusoft.com/sieve
   4. http://cyrusmaster.edunet.uoa.gr/
   5. http://www.faqs.org/rfcs/rfc3028.html
   6. http://www.cyrusoft.com/sieve/
   7. file://localhost/tmp/avelsieve/doc/avelsieve_screenshots.php
   8. file://localhost/tmp/avelsieve/doc/demo.php
   9. http://asg.web.cmu.edu/cyrus/
  10. http://www.dbmail.org/
  11. http://www.squirrelmail.org/
  12. http://www.php.net/manual/en/ref.mbstring.php
  13. http://sieve-php.sourceforge.net/
  14. mailto:danellis__@.com
  15. http://www.gnu.org/licenses/gpl.html
  16. http://www.fsf.org/
  17. http://www.gnu.org/licenses/gpl.html
  18. mailto:avel@users.sourceforge.net
  19. http://www.noc.uoa.gr/
  20. http://www.uoa.gr/
  21. http://www.noc.uoa.gr/~avel/
