Am 01.10.20 um 11:00 schrieb Victor Sudakov via Exim-users:
> Cyborg via Exim-users wrote:
>>>> accept  condition  = ${if or{\
>>>>                                { and{ {CONDITION 1}{CONDITION 2} }}\
>>>>                                { CONDITION 3 }\
>>>>                               } {1}}
>>> So, for my case it should look like this, right )(copied verbatim from my 
>>> test config):
>>>
>>>   accept condition =  ${if or{\
>>>                       
>>> ${lookup{$local_part@$domain}lsearch{/etc/dovecot/aliases}{yes}} \
>>>                       
>>> ${lookup{$local_part@$domain}lsearch{/etc/dovecot/users}{yes}} \
>>>                       } {yes}}
>>>
>>>
>>> Does not work however: 
>>> failed to expand ACL string "${if 
>>> or{${lookup{$local_part@$domain}lsearch{/etc/dovecot/aliases}{yes}} 
>>> ${lookup{$local_part@$domain}lsearch{/etc/dovecot/users}{yes}} } {yes}}": 
>>> each subcondition inside an "or{...}" condition must be in its own {}
>>>
>>>
>>> What am I doing wrong?
>>>
>>>
>> I cant explain it better than the error message already does :
>>
>> each subcondition inside an "or{...}" condition must be in its own {}
>>
>>
>> means:
>>
>>   accept condition =  ${if or{\
>>                       
>> *{*${lookup{$local_part@$domain}lsearch{/etc/dovecot/aliases}{yes}}*}* \
>>                       
>> *{*${lookup{$local_part@$domain}lsearch{/etc/dovecot/users}{yes}}*}* \
>>                       } {yes}}
> This variant does not work either:
>
>  accept condition =  ${if or{\
>                       
> {${lookup{$local_part@$domain}lsearch{/etc/dovecot/aliases}{yes}}} \
>                       
> {${lookup{$local_part@$domain}lsearch{/etc/dovecot/users}{yes}}} \
>                       } {yes}}
>
> failed to expand ACL string "${if 
> or{{${lookup{$local_part@$domain}lsearch{/etc/dovecot/aliases}{yes}}} 
> {${lookup{$local_part@$domain}lsearch{/etc/dovecot/users}{yes}}} } {yes}}": 
> condition name expected, but found "${lookup{$local_" inside "or{...}" 
> condition
>
> And I'm damned if I understand what is "condition name expected."
>
>
>

to make it bool:

 {match{ ${lookup ..... }}{yes or what it shall match}}

full example to make it easier: 

 accept  condition  = ${if or{\
                               { eq{$h_subject}{Hello} }\
                               { match{ ${lookup mysql {SELECT 1 FROM table 
WHERE a=b LIMIT 1 }} }*{1}* }\
                              } *{1}*}

I'm not using lsearches, so i can't give you an working example.. but i'm 
pretty sure one is in the docs.


best regards,
Marius

-- 
## List details at https://lists.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to