Medium-priority Items
- Clean up ManageSieve library (e.g. function that gets sieve capabilities
should not depend on user being logged in).
- Support multiple Sieve scripts and switching between them.
- Support import / export / backup of Sieve scripts.
- Sieve scripts in shared folders, via ANNOTATEMORE (aka METADATA), as
implemented in Cyrus 2.3.
Current status: there is a backend library for ANNOTATEMORE operations
already written (see annotatemore Squirrelmail plugin). A new
"storage backend" for avelsieve needs to be written to take
advantage of it.
- Sort out the GUI when adding a new rule. Make it more dynamic and
support mixed, complicated AND/OR logic.
- Support Sieve Extension:
Copying Without Side Effects (RFC 3894)
- Fine-tune TLS connections via stream_context_create() options.
- Support sending and receiving of Sieve scripts & rules via email. For
this purpose, according to RFC 3028, the mime media type: application/sieve
should be used.
- Parse Sieve scripts using libsieve-php project by
Heiko Hund.
Low Priority
- Use Squirrelmail 1.5.2 template sub-system.
- Standalone version that does not depend on Squirrelmail.
- Support advanced mode, so that the user can edit the Sieve scripts directly
(if she knows Sieve). However this will disable the nice GUI altogether after
the first edit.
- Support Sieve
Extension: Relational Tests, the :count matchtype.
- Support Sieve spamtest and virustest extensions.
- RFC 3834 suggests to use Auto-Submitted: header for automated replies, such
as vacation messages. Perhaps this could be added in the automatic rule
creation. (RFC 3834, Valid values
per IANA)
- Support IMAP
flag Extension (its recent version).
Things to Check
These are implemented, but they might need some more QA.
-
Sieve - body extension
Status: implemented
- Error handling when creating a folder with invalid characters etc.
Status: implemented
- Synchronization between folders mentioned in fileinto rules and actual
folders that exist in the Cyrus tree.
Status: Partially implemented: a warning message is being displayed
when there is such an inconsistency.
- Support multiple storage backends, instead of just ManageSieve, so that it
can be used with non-ManageSieve servers such as MTAs (Exim).
Status: implemented
- Support TLS connects to timsieved, in sieve-php.lib.php.
Status: implemented
Wishlist
- Header match rule: user can put a custom header to be matched against
(editable box instead of Select).
Status: tried it with dhtmlgoodies' corresponding widget. It will only
work with Javascript, and it looks ugly.
- Folder creation does not work while editing an existing rule.
- 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!)
- Respond with mime-encoded files. Support the :mime parameter. (info-cyrus
relevant mail)
- Support Sieve Variables Extension (draft-ietf-sieve-variables)
- Support Sieve Date and Index Extensions (draft-freed-sieve-date-index)
- Support Sieve extension for accessing mailbox metadata
(draft-melnikov-sieve-imapext-metadata)