drop log_message = HELO mismatch
set acl_m9 = ${lookup{$sender_helo_name}
partial-lsearch{/usr/local/exim/check-helo} \
{ ${if eq{$value}{}{$sender_helo_name}{$value}}}{}}
condition = ${if and { \
{!eq{$acl_m9}{}} \
{!match{$sender_host_name}{${rxquote:$acl_m9}\N$\N}} \
} \
{yes}{no}}
delay = 30s
When comparing yahoo.com as the helo with a hostname of
web13308.mail.yahoo.com [216.136.175.44] the above fails like:
> > >>> processing "drop"
> > >>> check set = ${lookup{$sender_helo_name}
> > partial-lsearch{/usr/local/exim/helo-check} { ${if
> > eq{$value}{}{$sender_helo_name}{$value}}}{}}
> > >>> = yahoo.com
> > >>> check condition = ${if and { {!eq{$acl_m9}{}}
> > {!match{$sender_host_name}{${rxquote:$acl_m9}\N$\N}} } {yes}{no}}
> > >>> = yes
> > >>> check delay = 30s
> > >>> delay modifier requests 30-second delay
> > >>> drop: condition test succeeded
> > 550 Administrative prohibition
> > LOG: H=web13308.mail.yahoo.com [216.136.175.44] rejected
> EHLO or HELO
> > yahoo.com: HELO mismatch
I'm guessing the match is wrong, perhaps it is not matching a sub of the
whole hostname?