Julian Mehnle > Courier-Filter > Courier::Filter::Module::Header

Download:
courier-filter/Courier-Filter-v0.200.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
View/Report Bugs
Source  

NAME ^

Courier::Filter::Module::Header - Message header filter module for the Courier::Filter framework

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.

Instance methods

See "Instance methods" in Courier::Filter::Module for a description of the provided instance methods.

SEE ALSO ^

Courier::Filter::Module::Envelope, Courier::Filter::Module, Courier::Filter::Overview.

For AVAILABILITY, SUPPORT, and LICENSE information, see Courier::Filter::Overview.

AUTHOR ^

Julian Mehnle <julian@mehnle.net>

syntax highlighting: