> On Apr 2, 2021, at 2:02 PM, Jeremy Harris via Exim-users 
> <exim-users@exim.org> wrote:
> 
> On 02/04/2021 17:08, Felipe Gasper via Exim-users wrote:
>> domainlist mydomains = foo.com : bar.com
>> … is there any way to pass that domain list to, e.g, ${reduce}?
>>      For testing purposes I’d like to do something like:
>> -----
>> ${reduce {+mydomains}{}{${if eq{$value}{}{}{$value,}}$item}}
>> -----
>> … and have it give me “mydomains”, joined with a comma.
> 
> ${listnamed_d:mydomains} as source for your reduce.
> 
> Bear in mind that you a vulnerable to list elements
> that already have an embedded comma, and ones with
> an embedded colon may surprise you.
> 
> 
> It'd be nicer if listnamed had a way of getting a
> custom output separator, and/or if reduce did full
> list expansion, of course.

So, the list in question is defined thus:

domainlist manualmx_domains = ${if exists {/etc/manualmx} 
{lsearch;/etc/manualmx} {} }

When I expand ${listnamed_d:manualmx_domains}, I get just the definition part 
of the above. So that doesn’t help.

I also tried expanding:

${if forany{${listnamed:manualmx_domains}}{eq {$item}{domain.tld}}{yes}{no}}

… where “domain.tld” is the domain I’m looking for, but still no dice.

I also tried:

${if inlist{domain.tld}{${listnamed:manualmx_domains}}{yes}{no}}

… but that doesn’t work, either.

I assume the issue is that the list is defined as dynamic … is there any 
expansion string that handles that?

Thank you!

cheers,
-Felipe
-- 
## 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