Mail::SpamAssassin::Plugin::MIMEHeader(3)

NAME
MIMEHeader - perform regexp tests against MIME headers

SYNOPSIS
  loadplugin    Mail::SpamAssassin::Plugin::MIMEHeader
  mimeheader    NAME_OF_RULE    Content-Id =~ /foo/

DESCRIPTION
This plugin allows regexp rules to be written against MIME headers in the message.

RULE DEFINITIONS AND PRIVILEGED SETTINGS

mimeheader NAME_OF_RULE Header-Name =~ /pattern/modifiers
    Specify a rule. "NAME_OF_RULE" is the name of the rule to be used, "Header-Name" is the name of the MIME header to check, and "/pattern/modifiers" is the Perl regular expression to match against this.

    Note that in a message of multiple parts, each header will be checked against the pattern separately. In other words, if multiple parts have a 'Content-Type' header, each header's value will be tested individually as a separate string.

    Header names are considered case-insensitive.

    The header values are normally cleaned up a little; for example, whitespace around the newline character in "folded" headers will be replaced with a single space. Append ":raw" to the header name to retrieve the raw, undecoded value, including pristine whitespace, instead.

tflags NAME_OF_RULE range=x-y
    Match only from specific MIME parts, indexed in the order they are parsed. Part 1 = main message headers. Part 2 = next part etc.

     range=1    (match only main headers, not any subparts)
     range=2-   (match any subparts, but not the main headers)
     range=-3   (match only first three parts, including main headers)
     range=2-3  (match only first two subparts)

tflags NAME_OF_RULE concat
    Concatenate all headers from all mime parts (possible range applied) into a single string for matching. This allows matching headers across multiple parts with single regex. Normally pattern is tested individually for different mime parts.