[exim] non-address header syntax checking

Top Page
Delete this message
Reply to this message
Author: Phil Chambers
Date:  
To: exim-users
Subject: [exim] non-address header syntax checking
I am using Exim 4.61 and am delivering to Cyrus using LMTP.

Cyrus is very particular about what it accepts. I check for NULL characters
using $body_zerocount and I force a Message-ID if one is not present. I also
use verify=header_syntax.

However, Cyrus refuses to accept messages with non-ascii characters in any part
of the header. This has not been a problem until recently, when there seems to
have been a spate of messages with non-ascii in headers, including in header
labels.

I feel I should be able to use $message_headers but am not sure of the best way
to do it. I was thinking in termes of comparing $message_headers with the
${escape:$message_headers} version and failing if they do not match:

  deny message = Invalid characters in the message headers
       condition = $if eq{$message_headers} \
                         {${escape:$message_headers}} {no}{yes}}


Am I likely to start rejecting perfectly valid messages? Any other comments?

Phil.
---------------------------------------
Phil Chambers (postmaster@???)
University of Exeter