man Courier::Filter::Module::Envelope () - A message envelope filter module for the Courier::Filter framework

NAME

Courier::Filter::Module::Envelope - A message envelope filter module for the Courier::Filter framework

VERSION

0.16

SYNOPSIS

    use Courier::Filter::Module::Envelope;

    my $module = Courier::Filter::Module::Envelope->new(
        fields      => {
            # One or more of the following fields:
            sender              => 'paul.greenfield@unisys.com',
            recipient           => 'julian@mehnle.net',
            remote_host         => '216.250.130.2',
            remote_host_name    => qr/(^|\.)php\.net$/,
            remote_host_helo    => qr/^[^.]*$/
        },

        # Optionally the following:
        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 envelope fields matches the configured criteria.

Constructor

The following constructor is provided:

new(%options): RETURNS Courier::Filter::Module::Envelope
Creates a new Envelope 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 envelope 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 CWqr// operator (for inexact, partial matches). The following envelope fields are supported:
sender
The message's envelope sender (from the MAIL FROM: SMTP command).
recipient
Any of the message's envelope recipients (from the RCPT TO: SMTP commands).
remote_host
The IP address of the SMTP client that submitted the message.
remote_host_name
The host name (gained by Courier through a DNS reverse lookup) of the SMTP client that submitted the message, if available.
remote_host_helo
The HELO string that the SMTP client specified, if available. So for instance, to match any message with a sender of CWpaul.greenfield@unisys.com, directed at CWjulian@mehnle.net (possibly among other recipients), you could set the CWfields option as follows:
    fields      => {
        sender      => 'paul.greenfield@unisys.com',
        recipient   => 'julian@mehnle.net'
    }
response
A string that is to be returned literally as the match result in case of a match. Defaults to Prohibited <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::Header, Courier::Filter::Module, Courier::Filter::Overview.

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

AUTHOR

Julian Mehnle <julian@mehnle.net>