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.