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 ["a...@cisco-inc.com", "a...@mor-value.com", "a...@morrison-ind.com", "a...@morrison.iserv.net"] :subject "Out Of The Office" "I will be out of the office 2010-12-10...."; } } }