Re: [exim] Checking if a list of domains contains a domain …

Top Page

Reply to this message
Author: Sebastian Arcus
To: exim-users
Subject: Re: [exim] Checking if a list of domains contains a domain contained in another list?

On 27/02/18 19:18, Jeremy Harris via Exim-users wrote:
> On 27/02/18 18:35, Sebastian Arcus via Exim-users wrote:
>> condition = ${if match_domain {${lookup
>> dnsdb{mx=$sender_address_domain}}}{+no_extended_callout_mxs}}
>> For example the mx query might return:
>> 10
>> 20
>> 0
>> For example I'm interested in the * domain - I want to know
>> if it is in the list of mx's - but I am essentially comparing a list
>> (the list of mx records) with another list (of whitelisted domains)-
>> which I guess is not possible.
> Have a look at the foreach/forany expansion conditions, and to
> trim the mx priorities away from the mx lookup try the map expansion.

Thank you very much for that suggestion - somehow I never noticed the
foreach/forany operators. As to the mx priorities, I just used the mxh
type lookup which removes them - so it worked out perfectly. I've
enclosed below what I ended up with - in case it helps others:

domainlist no_extended_callout_mxs = * : *

condition = ${if forany {${lookup dnsdb{>:
mxh=$sender_address_domain}}} {match_domain
{$item}{+no_extended_callout_mxs}} {true} {false} }