Re: [exim] how to check a message header for being empty

Top Page
Delete this message
Reply to this message
Author: lee
Date:  
To: exim-users
Old-Topics: Re: [exim] how to check a message header for being empty
Subject: Re: [exim] how to check a message header for being empty
Dennis Davis <dennisdavis+exim-users@???> writes:

>> On Sat, 4 Oct 2014, lee wrote:
>>
>> Is the Subject: header required by some RFC? If it is, I'll also
>> deny messages that don't have one.
>
> Not as far as I'm aware. RFC5322, "Internet Message Format",
> contains:
>
>    The only required header fields are the origination date field and
>    the originator address field(s).  All other header fields are
>    syntactically optional.  More information is contained in the table
>    following this definition.

>
> in Section 3.6. Field Definitions
>
> And there's probably still email clients that will omit at least one
> of the above :-(


Thanks! So I'm trying this now:


acl_check_data:

  deny message = Invalid header (Subject:).
     condition = ${if and { \
                                  {def:h_subject: {1}} \
                {!match {$h_subject:}{\N[a-z]+}} \
              } \
          }



And I'm getting:


temporarily rejected after DATA: failed to expand ACL string "${if and {
{def:h_subject:{1}} {!match{$h_subject:}{\N[a-z]+}} } }": missing } at
end of condition inside "and" group


There is no brace missing. Any idea what's wrong?

This is supposed to deny a message when the message does have a Subject:
header but the Subject: header does not contain at least one of 'a'
through 'z'.


--
Again we must be afraid of speaking of daemons for fear that daemons
might swallow us. Finally, this fear has become reasonable.