Courier::Filter::Module::BlankBody - Blank-body message filter module for the


Courier-Filter documentation Contained in the Courier-Filter distribution.

Index


Code Index:

NAME

Top

Courier::Filter::Module::BlankBody - Blank-body message filter module for the Courier::Filter framework

SYNOPSIS

Top

    use Courier::Filter::Module::BlankBody;

    my $module = Courier::Filter::Module::BlankBody->new(
        response    => $response_text,

        logger      => $logger,
        inverse     => 0,
        trusting    => 0,
        testing     => 0,
        debugging   => 0
    );

    my $filter = Courier::Filter->new(
        ...
        modules     => [ $module ],
        ...
    );

DESCRIPTION

Top

This class is a filter module class for use with Courier::Filter. It matches a message if its body is blank or consists only of whitespace, which is a frequent symptom of stupid spammers.

Constructor

The following constructor is provided:

new(%options): returns Courier::Filter::Module::BlankBody

Creates a new BlankBody filter module.

%options is a list of key/value pairs representing any of the following options:

response

A string that is to be returned literally as the match result in case of a match. Defaults to "Message body is blank".

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

Top

Courier::Filter::Module, Courier::Filter::Overview.

For AVAILABILITY, SUPPORT, COPYRIGHT, and LICENSE information, see Courier::Filter::Overview.

AUTHOR

Top

Julian Mehnle <julian@mehnle.net>


Courier-Filter documentation Contained in the Courier-Filter distribution.
#
# Courier::Filter::Module::BlankBody class
#
# (C) 2004-2008 Julian Mehnle <julian@mehnle.net>
# $Id: BlankBody.pm 210 2008-03-21 19:30:31Z julian $
#
###############################################################################

package Courier::Filter::Module::BlankBody;

use warnings;
use strict;

use base 'Courier::Filter::Module';

use constant TRUE   => (0 == 0);
use constant FALSE  => not TRUE;

# Implementation:
###############################################################################

sub match {
    my ($self, $message) = @_;
    
    return 'BlankBody: ' . ($self->{response} || 'Message body is blank')
        if $message->body =~ /^\s*$/;
    
    return undef;
        # otherwise.
}

TRUE;