RE: [Exim] Help with condition required

Pàgina inicial
Delete this message
Reply to this message
Autor: Paul Walsh
Data:  
A: 'Greg Ward', exim-users
Assumpte: RE: [Exim] Help with condition required
thanks to all who've replied. I've got it sussed now! :)

Paul

> -----Original Message-----
> From: Greg Ward [mailto:gward@mems-exchange.org]
> Sent: 01 February 2002 14:12
> To: exim-users@???
> Subject: Re: [Exim] Help with condition required
>
>
> On 01 February 2002, Paul Walsh said:
> > This set me thinking and the solution I'm trying to come up
> with uses a
> > modified condition in the director which should only
> succeed if the received
> > protocol isn't spam_checked AND the local part can be
> looked up in a file:
> >
> > spam_to_check:
> > driver = smartuser
> > transport = spam_scan
> > condition = ${if and { {!eq {$received_protocol} {spam_checked} }\
> > { eq {${lookup {$local_part} lsearch
> {/usr/exim/tables/SA_users} {1}}} {1}
> > }\
> >
> > I'm obviously going wrong somwhere because I get the
> following error:
>
> Ugh, don't you just hate trying to debug those hairy expansions? Oh,
> for temporary variables!
>
> Anyways, I recently went through a similar exercise. The director I
> crafted to decide if someone's mail gets piped through
> SpamAssassin is a
> little more complicated, because my /etc/exim/spamcheck_users
> (equivalent to your /usr/exim/tables/SA_users) also acts like an alias
> file: if someone is listed there, pipe their mail through SA, and then
> deliver it to the address in the file. Here it is:
>
> # Filter through SpamAssassin, but only if the local_part is mentioned
> # in /etc/exim/spamcheck_users (an alias-like file).
> spamcheck_user:
> driver = smartuser
> transport = spamcheck
>
>   # Translated, this reads:
>   #   if !(defined X-Spam-Flag) and
>   #      !($received_protocol eq "spamcheck") then
>   #      run this director
>   condition = "${if and { {!def:h_X-Spam-Flag:} \
>                           {!eq
> {$received_protocol}{spamcheck}} } {1}{0}}"
>   local_parts = lsearch;/etc/exim/spamcheck_users

>
>   new_address = ${lookup{$local_part} lsearch \
>                         {/etc/exim/spamcheck_users} {$value}}

>
> In the painful hours it took me to perfect this, I leaned about a very
> valuable tool: "exim -be". Run that, and then build up your expansion
> string a little bit at at time. Sooner or later, you'll find the
> problem.
>
> Hope that helps --
>
>         Greg
> --
> Greg Ward - software developer                gward@???
> MEMS Exchange                            http://www.mems-exchange.org

>
> --
>
> ## List details at
> http://www.exim.org/mailman/listinfo/exim-users Exim details
> at http://www.exim.org/ ##
>