sieve date support?

Adam Tauno Williams awilliam at opengroupware.us
Wed Dec 8 10:34:00 EST 2010


On Wed, 2010-12-08 at 09:05 -0600, Kenneth Marshall wrote:
> I know the date extension to the sieve language was discussed
> a while back. Is their any plan to add it to the Cyrus sieve
> implementation? That would allow it to handle the largest
> issue that our users face -- enabling/disabling vacation
> on a predetermined schedule. Currently, they must remember to
> turn it on when they leave and then remember to disable when
> they return.

This can be accomplished via regexp; and can automatically be setup via
the Ingo (Horde) SIEVE interface. <http://www.horde.org/ingo/>

The script snippet will look something like -

# Vacation
 if allof ( not exists ["list-help", "list-unsubscribe",
"list-subscribe", "list-owner", "list-post", "list-archive", "list-id",
"Mailing-List"], not header :comparator "i;ascii-casemap" :is
"Precedence" ["list", "bulk", "junk"], not header :comparator
"i;ascii-casemap" :matches "To" "Multiple recipients of*" ) { 
      if header :regex "Received" "^.*(2010) (\\(.*\\) )?..:..:.. (\\(.*
\\) )?(\\+|\\-)....( \\(.*\\))?$" {
      if header :regex "Received" "^.*(Dec) (\\(.*\\) )?.... (\\(.*\
\) )?..:..:.. (\\(.*\\) )?(\\+|\\-)....( \\(.*\\))?$" {
      if header :regex "Received" "^.*(10|11|12) (\\(.*\\) )?... (\\(.*\
\) )?.... (\\(.*\\) )?..:..:.. (\\(.*\\) )?(\\+|\\-)....( \\(.*\\))?$" {
      vacation :days 3 :addresses ["adam at cisco-inc.com",
"adam at mor-value.com", "adam at morrison-ind.com",
"adam at morrison.iserv.net"] :subject "Out Of The Office" "I will be out
of the office 2010-12-10....";
  }
  }
  }




More information about the Cyrus-devel mailing list