Provided by: courier-filter-perl_0.200+ds-2_all
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>