[exim] nested condition

Top Page
Delete this message
Reply to this message
Author: Rejo Zenger
Date:  
To: exim-users
Subject: [exim] nested condition
Hi,

I am trying to create a nested condition for a router and I seem to be
unable to get it working. I have now:

    ${if and { \
        { or { \
            {def:h_List-Id:} \
            {eq {$sender_address}{}} \
            {match{$h_X-Spam-Flag:}{(?i)YES}} 
            } {false}{true} } \
        { or { \
            {match{$h_To:}{$local_part}} \
            {match{$h_Cc:}{$local_part}} \
            } {true}{false} } \
        } {true}{false} \
    }


When using this condition, I see the following error in the logfiles:

failed to expand condition "${if and { { or { {def:h_List-Id:} {eq {$sender_address}{}} {match{$h_X-Spam-Flag:}{(?i)YES}} } {false}{true} } { or { {match{$h_To:}{$local_part}} {match{$h_Cc:}{$local_part}} } {true}{false} } } {true}{false} }" for autoreply router: missing } at end of condition inside "and" group

But for one reason or another, I can't find the place where a brace is
missing. What it is that I am overlooking here?


Background: I am trying to set the condition that will match messages
that do not have a List-Id header, that do not have a X-Spam-Flag header
set to "yes", that do not have a empty sender address (e.g. message is a
bounce) and which has the local user's username in either the To or Cc
field.

Thanks a lot for the help.

--
Rejo Zenger . <rejo@???> . 0x75FC50F3 . <https://rejo.zenger.nl>
GPG encrypted e-mail prefered.