On Wed, Oct 13, 2010 at 9:44 AM, Jeremy Harris <[email protected]> wrote:
> On 10/13/10 16:13, Todd Lyons wrote:
>> To enforce this within exim, I have a simple ACL and perl function
>> that will count whatever headers you ask it to.
> condition= ${if match {$message_headers} {\N(?ms).*^From: .*^From: \N}}
> Less flexible, I admit; you don't get an actual count.   Let's get
> into real Exim-abuse:
> set acl_m_h_name = From
> set acl_m_h_count = ${reduce {<\n $message_headers} \
>                                                  {0} \
>                                                  {${eval:$value+${if 
> match{$item}{^$acl_m_h_name: } {1}{0}}}}}

This appears to do what I want, and yes, you pasted something similar
to the first condition line in irc to me yesterday, so thanks for both
that and the longer exim-abuse statement :-)  I would not have been
able to come up with it myself since I've not had to use reduce
before, but I see now that reduce effectively means iterate through a
list, and THAT is a quite powerful command.

> Look ma!   No Perl!

Hah, that's not a selling point for me :-)  But I do understand
others' desire not to use perl, I don't knock it.

-- 
Regards...      Todd
I seek the truth...it is only persistence in self-delusion and
ignorance that does harm.  -- Marcus Aurealius

-- 
## List details at http://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