Courier::Filter::Module::Header - Message header filter module for the
Courier::Filter framework
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 ],
...
);
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.
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.
See "Instance methods" in Courier::Filter::Module for a description of
the provided instance methods.
Courier::Filter::Module::Envelope, Courier::Filter::Module,
Courier::Filter::Overview.
For AVAILABILITY, SUPPORT, and LICENSE information, see
Courier::Filter::Overview.
Julian Mehnle <
[email protected]>