Re: [exim] Struggling with condition= syntax

Top Page
Delete this message
Reply to this message
Author: Tony Finch
Date:  
To: Chris Shucksmith
CC: Exim users list
Subject: Re: [exim] Struggling with condition= syntax
On Tue, 25 Apr 2006, Chris Shucksmith wrote:
>
> I am trying to interpret several header values in the condition= line of
> a router. I'm having real problems with curly braces and subsequently
> Exim fails to start. If anyone can spot the error I would appreciate
> your guidance.


I think all you are missing is a \ on the first line.

The way I would format it is as follows. I vary the cuddliness of the
brackets in a systematic way, so that inner conditions stand out, and
so that double nestings pair up.

condition = ${if or{{ def:header_X-Spam-Flag: } \
                    { def:header_X-Amavis-Alert: } \
                    { and{{ def:header_X-Merlot-Blacklisted: } \
                          { def:header_X-Spam-Level: } \
                          { >{$header_X-Spam-Level}{1.5} }} }} \
                 {yes} {no} }


This is much more complicated than I allow string expansions to get.

Tony.
--
<fanf@???> <dot@???> http://dotat.at/ ${sg{\N${sg{\
N\}{([^N]*)(.)(.)(.*)}{\$1\$3\$2\$1\$3\n\$2\$3\$4\$3\n\$3\$2\$4}}\
\N}{([^N]*)(.)(.)(.*)}{\$1\$3\$2\$1\$3\n\$2\$3\$4\$3\n\$3\$2\$4}}