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
Envelopefilter module.%optionsis 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::Moduleconstructor 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.