We have a situation where a remote MTA (Exchange, what else) is trying
to offer us defective headers. We reject the mail, but the remote MTA
is apparently reporting incomplete diagnostic information to its user.
Consider this ACL stanza (for suitable value of SORRYTEXT):
deny hosts = ! +relay_hosts
!verify = header_syntax
message = $acl_verify_message\n\
SORRYTEXT
If it's relevant, I can say that we've got
smtp_return_error_details = true
I've tried simulating the situation by hand, and here's what I get:
550-Rejected after DATA: malformed address:
550-'>\n may not follow <'flavell@???:
550-failing address in "to" header is: <'flavell@???'>
550-Sorry, this is done as an anti-spam measure.
[...and so on...]
It seems that only the first line of the response is getting reported
to the (would-be) sender (and to their postmaster, who contacted me to
express puzzlement that we were the only ones rejecting this mail
item from them).
Exim version is 4.34, I'm afraid, for reasons which aren't germane to
this problem.
I would like, in the interest of better relations with such sending
sites, to put more detail of the error into the first line of the
response, in the hope of getting it reported to the would-be sender.
Comments, please?