| Courier::Filter::Module::Envelope - A message envelope filter module for the Courier::Filter framework |
Courier::Filter::Module::Envelope - A message envelope filter module for the Courier::Filter framework
0.17
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 ],
...
);
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.
The following constructor is provided:
Creates a new Envelope filter module.
%options is a list of key/value pairs representing any of the following options:
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:
The message's envelope sender (from the "MAIL FROM:" SMTP command).
Any of the message's envelope recipients (from the "RCPT TO:" SMTP commands).
The IP address of the SMTP client that submitted the message.
The host name (gained by Courier through a DNS reverse lookup) of the SMTP client that submitted the message, if available.
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'
}
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 the Courier::Filter::Module manpage for their descriptions.
See Instance methods in the Courier::Filter::Module manpage for a description of the provided instance methods.
the Courier::Filter::Module::Header manpage, the Courier::Filter::Module manpage, the Courier::Filter::Overview manpage.
For AVAILABILITY, SUPPORT, and LICENSE information, see the Courier::Filter::Overview manpage.
Julian Mehnle <julian@mehnle.net>
| Courier::Filter::Module::Envelope - A message envelope filter module for the Courier::Filter framework |