[exim] Help with PCRE (Wordlists)

Startseite
Nachricht löschen
Nachricht beantworten
Autor: ashkan
Datum:  
To: exim-users
Betreff: [exim] Help with PCRE (Wordlists)
Hey guys

I'm trying to do a PCRE match on the body for the word 'blah' (the goal of which is to create wordlists inside exim for policy filtering).

Leaving the merits of wordlists aside for a moment, can anyone tell me why the following condition is not matching?

I have the following driver in exim.conf:

>central_filter:
> driver = redirect
> domains = +local_domains
> file = /etc/exim/filter1
> no_verify
> user = exim
> group = exim
> allow_filter
> allow_freeze


which contains the following:

>#Exim filter <<== Do not remove`
>logfile /tmp/filter.log 0644
>if (${lookup{$message_body}wildlsearch{/etc/exim/wordlist}{yes}{no}} is "yes")
> then logwrite "match"
>endif


the following test email:

>To: testuser1 <testuser1@???>
>From: Ashkan Soltani <test@???>
>Subject: Test1
>
>blah
>
>end


and the following wordlist

>"blah end "
>Test1
>^\bblah\b
>*blah*


running this command:

>/usr/sbin/sendmail -bF filter1 -f "test@??? <test@???>" -bfd testdomain.com -bfl testuser1 -d+lists < test



here is the truncated result:

>Logfile /tmp/filter.log
>Logwrite "here!\n"
>search_open: wildlsearch "/etc/exim/wordlist"
>search_find: file="/etc/exim/wordlist"
> key="blah end " partial=-1 affix=NULL starflags=0
>LRU list:
> D/etc/exim/wordlist
> End
>internal_search_find: file="/etc/exim/wordlist"
> type=wildlsearch key="blah end "
>file lookup required for blah end
> in /etc/exim/wordlist
>blah end in "blah end "? no (end of list)
>blah end in "Test1"? no (end of list)
>blah end in "^bblahb"? no (end of list)
>blah end in "*blah*"? no (end of list)
>lookup failed
>Condition is false: ${lookup{$message_body}wildlsearch{/etc/exim/wordlist}{yes}{no}} is yes
>Filtering did not set up a significant delivery.
>Normal delivery will occur.


What am I doing wrong? Is there a better way to create wordlists in Exim for content filtering?
-a