[exim] Sieve filter regex extension

Top Pagina
Delete this message
Reply to this message
Auteur: Rogge, Ulrike (IPD)
Datum:  
Aan: exim-users
Onderwerp: [exim] Sieve filter regex extension
Hi all,

we have a Courier-mailserver with Exim and the webmailer Horde. We want
to use Horde Ingo to enable the users to use filters. Since Courier is
not able to filter Sieve scripts, we want Exim for doing that. When
activating the vacation-filter it writes the following script

   1: # Sieve Filter
      2: # Generated by Ingo (http://www.horde.org/apps/ingo/) 
(12/23/2013, 10:07:17 AM)
      3: require ["vacation", "regex"];
      4: # Vacation
      5: 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*" ) {
      6:     if header :regex "Received" "^.*(2013) (\\(.*\\) )?..:..:.. 
(\\(.*\\) )?((\\+|\\-)[[:digit:]]{4}|.{1,5})( \\(.*\\))?$" {
      7:     if header :regex "Received" "^.*(Dec) (\\(.*\\) )?.... 
(\\(.*\\) )?..:..:.. (\\(.*\\) )?((\\+|\\-)[[:digit:]]{4}|.{1,5})( 
\\(.*\\))?$" {
      8:     if header :regex "Received" 
"^.*(15|16|17|18|19|20|21|22|23|24|25|26|27|28|29|30|31) (\\(.*\\) )?... 
(\\(.*\\) )?.... (\\(.*\\) )?..:..:.. (\\(.*\\) 
)?((\\+|\\-)[[:digit:]]{4}|.{1,5})( \\(.*\\))?$" {
      9:     vacation :days 7 :addresses "rogge@???" :subject 
"test" "test";
     10: }
     11: }
     12: }
     13: if header :regex "Received" "^.*(2014) (\\(.*\\) )?..:..:.. 
(\\(.*\\) )?((\\+|\\-)[[:digit:]]{4}|.{1,5})( \\(.*\\))?$" {
     14:     if header :regex "Received" "^.*(Jan) (\\(.*\\) )?.... 
(\\(.*\\) )?..:..:.. (\\(.*\\) )?((\\+|\\-)[[:digit:]]{4}|.{1,5})( 
\\(.*\\))?$" {
     15:     if header :regex "Received" "^.*([0 ]1) (\\(.*\\) )?... 
(\\(.*\\) )?.... (\\(.*\\) )?..:..:.. (\\(.*\\) 
)?((\\+|\\-)[[:digit:]]{4}|.{1,5})( \\(.*\\))?$" {
     16:     vacation :days 7 :addresses "rogge@???" :subject 
"test" "test";
     17: }
     18: }
     19: }
     20: }


When I test it, I get the following error-message:

   Return-path copied from sender
   Sender      = rogge@???
   Recipient   = rogge@???
   Testing Sieve filter file ".sieve"


Sieve error: unknown capability in line 3

It seems to be the extension "regex". In the exim-documentation "Chapter
2 - Sieve filter" I found the following sentence:

"The Exim Sieve implementation offers the core as defined by RFC 3028,
comparison tests, the subaddress parameter, the copy, envelope,
fileinto, notify, and vacation extensions, but not the reject extension."

The list doesn't include "regex", so is it true, that it won't work? Is
there a way to make it work? Or what else can we do?


Thanks and a merry christmas for you all
Ulrike