Nothing like a new release to remind me about the pain of migrating
custom patches to each release. If you would like to incorporate this
in a future release, please do.
I wanted specify which header sender field to verify, I've expanded the
verify=header_sender command. I also fixed some of the header syntax
checking to recognize some additional valid, and sometimes used, address
list formats.
http://www.donelan.com/exim-patches/header-verify.patch
http://www.donelan.com/exim-patches/header-verify.readme
verify = header_sender[=header_type]/<options>
Header type can specify which "sender" header field to check.
* returns true if any sender header address is verifiable
all returns true if all header sender addresses are verifiable
from returns true if verifiable address in From: header line
reply_to returns true if verifiable address in Reply-To: header line
sender returns true if verifiable address in Sender: header line
The default action is "*" which is the current (4.70) behavior.
Example from EXIM configuration
# Check if just the header From: can be (partially) verified
warn condition = ${if def:h_from: {true}{false}}
!verify = header_sender=from
logwrite = X-Header-Error: $acl_verify_message
add_header = :at_start:X-Header-Error: \
could not verify "From:" header address