SYNOPSIS
use Courier::Filter::Module::Header;
my $module = Courier::Filter::Module::Header->new(
fields => \%patterns_by_field_name,
response => $response_text,
logger => $logger,
inverse => 0,
trusting => 0,
testing => 0,
debugging => 0
);
my $filter = Courier::Filter->new(
...
modules => [ $module ],
...
);
DESCRIPTION
This class is a filter module class for use with Courier::Filter. It matches a message if one of the message's header fields matches the configured criteria.Constructor
The following constructor is provided:- new(%options): returns Courier::Filter::Module::Header
-
Creates a new Header filter module.
%options is a list of key/value pairs representing any of the following options:
-
- fields
-
Required. A reference to a hash containing the message header field names
and patterns (as key/value pairs) that messages are to be matched against.
Field names are matched case-insensitively. Patterns may either be simple
strings (for exact, case-sensitive matches) or regular expression objects
created by the "qr//" operator (for inexact, partial matches).
So for instance, to match any message from the ``debian-devel'' mailing list with the subject containing something about 'duelling banjoes', you could set the "fields" option as follows:
fields => { 'list-id' => '<debian-devel.lists.debian.org>', subject => qr/duell?ing\s+banjoe?s?/i }
- response
- A string that is to be returned literally as the match result in case of a match. Defaults to ``Prohibited header value detected: <field>: <value>''.
-
All options of the Courier::Filter::Module constructor are also supported. Please see ``new()'' in Courier::Filter::Module for their descriptions.
-