Quoting Simon Arlott:
> If the HELO name is syntactically invalid or rejected for other
> reasons by Exim itself, the HELO ACL is never run.
Regarding invalid characters, there's helo_allow_chars
and helo_accept_junk_hosts. What are "other reasons"? (Apart from
helo_verify_hosts, which is obsolete.)