Courier::Filter::Module::Envelope(3pm)

Courier::Filter::Module::Envelope3pm

Message envelope filter module for the courier::filter framework

Usage

    use Courier::Filter::Module::Envelope;
    my $module = Courier::Filter::Module::Envelope->new(
        fields      => {
            # One or more of the following fields:
            sender              => '[email protected]',
            recipient           => '[email protected]',
            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 ],
        ...
    );

Overview

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 "qr//" 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 "[email protected]", directed at "[email protected]" (possibly among other recipients), you could set the "fields" option as follows:

    fields      => {
        sender      => '[email protected]',
        recipient   => '[email protected]'
    }
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.

Releases

10 releases since Debian 3.1 (Sarge); the text changed 5 times.

  1. 3.1–4.0
  2. 5.0–6.0
  3. 7
  4. 8
  5. 9–10
  6. 12–13

Author

Julian Mehnle <[email protected]>

From courier-filter-perl 0.200+ds-6 in Debian 13 (Trixie). Parsed by carta from the page's man source.