On Fri, 2008-01-18 at 04:29 +0800, jidanni@??? wrote:
> >> Can't we have the following error stop the message in its tracks,
> >> instead of sending still to half the recipients?
> >> ==============
> >> A message that you sent contained one or more recipient addresses that
> >> were incorrectly constructed:
> >> <rr@???> "failee": malformed address: "failee" may not follow <rr@???>
>
> http://bugs.debian.org/457096
So... you're asking for a connection to be closed with a 5xx after a
single RCPT TO syntax check fails, right?
How about changing your config?
Something like:
acl_check_rcpt:
...other acl tests...
warn set acl_c1 = $acl_c1+1
!verify = rcpt
Then in the pre-data ACL
acl_pre_data:
...other acl tests...
deny message = One of the recipients failed verification
condition = ${if gt{$acl_c1}{0}}
As in, this isn't a bug in Exim. It's just a configuration issue - and
normal practice on the Internet is to reject only the individual
recipients whose syntax fails or verification fails for some other
reason, rather than the entire message.
Oh, hang on - your specific problem isn't being caused by a RCPT TO:
check. Your message is being injected via a pipe, or some other
mechanism than SMTP, isn't it?
It's still possible to work out how to reject it. It just isn't the
snippet (untested) listed above. Can we introduce you to the Exim docs?
Graeme