Re: [exim] Regexp for catching "prefixed" Message-ID: fields…

Top Page
Delete this message
Reply to this message
Author: Philip Hazel
Date:  
To: Juha Saarinen
CC: exim-users, Tor Slettnes
Subject: Re: [exim] Regexp for catching "prefixed" Message-ID: fields?
On Fri, 17 Sep 2004, Juha Saarinen wrote:

> accidentally catches Microsoft bcc hideousness like:
>
> 2004-09-17 15:30:32 1C89SC-0008JL-7s H=<mailer> [IP address] F=<from
> address> rejected after DATA: Message headers malformed.: "@" or "."
> expected after "Undisclosed-Recipient": failing address in "To" header
> is: <Undisclosed-Recipient:;>


Why "accidentally"? That is a genuine format error. The header line was

To: <Undisclosed-recipient:;>

The correct form for that line is

To: Undisclosed-recipient:;

> I reckon that's a bug in MS Outhouse etc, because it uses semi-colons
> as an address separator but anyway, it's something one has to live
> with.


It's attempting to use "group" syntax, but sticking it inside <>, which
is totally mad. Perhaps it's too much to expect MS programmers to be
able to read the BNF syntax definitions in RFCs. On this point, RFC 2822
is clear enough:

group           =       display-name ":" [mailbox-list / CFWS] ";"  
                        [CFWS]     


> Is there a way to make an exception to the header check?


Only by not doing it. You could, for instance, put something like this
in your ACL;

   require   condition = ${if eq{$h_to:}{<Undisclosed-recipient:;>}{no}{yes}}
             verify    = header_syntax 


-- 
Philip Hazel            University of Cambridge Computing Service,
ph10@???      Cambridge, England. Phone: +44 1223 334714.
Get the Exim 4 book:    http://www.uit.co.uk/exim-book