Posts in category screenshots

Feature Spotlight: Index Sieve Extension

Avelsieve 1.9.9 implements the Index extension, as defined in RFC 5260: Sieve Email Filtering Date and Index Extensions.

Normally, a Sieve "header" test would be performed in all headers of the same name. The Index Extension to Sieve is a pretty simple extension that adds the capability of specifying a particular header index in a test.

When the "index" capability is detected via ManageSieve capabilities response, then the user interface will be enhanced with options to specify the index of the header to operate on.

No image "avelsieve_index_01.png" attached to Screenshots

The most common scenario to use this feature would be in a set of Received: headers, where the user might want to perform a test only on a specific header:

No image "avelsieve_index_02.png" attached to Screenshots

Feature Spotlight: IMAP4Flags Sieve Extension

Avelsieve 1.9.9 introduces setting IMAP message flags and labels as part of its feature set.

Previously, the only option for IMAP message flags was the option "keep a copy in Inbox, marked as deleted", a feature request that was implemented quickly.

However, Avelsieve 1.9.9 properly implements the latest IMAP4Flags Sieve Extension (RFC 5232, ticket #233).

If the "imap4flag" capability is detected via the ManageSieve capabilities response, then a new option "Flag" will be available under "Additional Actions":

No image "avelsieve_imap4flags_01.png" attached to Screenshots

The user has an option to easily set certain flags for the current message that is being processed by the Sieve engine.

The flags are grouped under three categories:

  • Standard message flags. These are common in all IMAP servers and clients.
  • Message "Labels". These are supported by many e-mail clients such as Mozilla Thunderbird.
  • Free-form input box for any flags the user wishes to set.

No image "avelsieve_imap4flags_02.png" attached to Screenshots

As always, flags can be seen and searched for quickly in the main rules table screen.

No image "avelsieve_imap4flags_03.png" attached to Screenshots

The custom flags input box is clever, in that it parses the user input properly and does not duplicate any of the flags shown above; it only shows custom flags.

No image "avelsieve_imap4flags_04.png" attached to Screenshots

The generated Sieve script snippet looks like this:

No image "avelsieve_imap4flags_06.png" attached to Screenshots

In addition to this user interface, Avelsieve's Sieve generation backend supports the setflag, addflag and removeflag Sieve actions, as defined in RFC 5232. These actions can be set by a custom rule, will affect the internal variable of the Sieve server engine and in the end will result in a set of flags that will be applied later in a Sieve script.

Feature Spotlight: Sieve Date / Time Extension

A new kind of filters

Previously, all conditions had to do something with the incoming email message that is processed by the Sieve engine. The Date/Time? extension changes that, as it allows for different things to happen depending on the time the message arrives.

Therefore, a new select button has been added to distinguish between conditions having to do with the message itself:

and conditions that have to do with current date / time:

In the future, more options could be placed in this widget. For instance, a new kind of conditions would be a test against a variable (when Sieve Variables is implemented, see ticket #75), or any other factor outside of the current message.

Of course, regarding the date / time test, it can be checked against the date claimed by the message itself:

A user can choose to do tests against the Date: and Received: headers and act accordingly.

Editing Date / Time Conditions

A user can choose between a variety of options with regard to date / time tests.

When specific dates and times must be defined, a Javascript datepicker (datepicker.js script by Jeremy Jongsma) helps select one easily.

When certain occurences are needed, the user interface consists of select widgets that guide the user along the way.

Rules Table

As all Avelsieve rules, Date/Time? rules are displayed in a user-friendly way in the table of filtering rules of a Sieve script:

The Sieve code generated for these rules is according to RFC 5228:


Some more substantial examples of the Sieve Date/Time? feature follow.

An equivalent of the following rule could be used by service / helpdesk / support departments that use e-mail as a medium. When outside office hours, an autoresponder is sent to the original sender.

(In fact, the "vacation" feature has even been renamed to "Vacation / Autoresponder" during this release, in order to make this kind of usage more clear).

The following rule might be a part of a ruleset that files and organizes messages in different folders per year and month.

This also shows the "occurence" user interface.