Courier::Filter::Module::Envelope(3pm) User Contributed Perl Documentation Courier::Filter::Module::Envelope(3pm)
NAME
Courier::Filter::Module::Envelope - Message envelope filter module for the Courier::Filter framework
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 "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 "paul.greenfield@unisys.com", directed at "julian@mehnle.net" (possibly
among other recipients), you could set the "fields" 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>
perl v5.14.2 2011-12-27 Courier::Filter::Module::Envelope(3pm)