NAME

App::Milter::Limit - Sendmail Milter that limits message rate by sender

VERSION

version 0.53

SYNOPSIS

my $config = App::Milter::Limit::Config->instance('/etc/mail/milter-limit.conf');
my $milter = App::Milter::Limit->instance('BerkeleyDB');
$milter->register;
$milter->main

DESCRIPTION

This is a milter framework that limits the number of messages sent by SMTP envelope sender within a specified time period. The number of messages and length of time in which the maximum number of messages can be sent is configurable in the configuration file. Once the limit is reached, messages will be rejected from that sender until the time period has elapsed.

This module provides the interface for the milter. A datastore plugin is also required to use this milter. Datastores are available in the App::Milter::Limit::Plugin namespace.

METHODS

instance($driver)

This gets the App::Milter::Limit object, constructing it if necessary. $driver is the name of the driver that you wish to use (e.g.: SQLite, BerkeleyDB).

register

Registers the milter with sendmail and sets up the milter handlers. See Milter::PMilter::register().

main

Main milter loop.

config

get the App::Milter::Limit::Config instance

SEE ALSO

App::Milter::Limit::Plugin::BerkeleyDB, App::Milter::Limit::Plugin::SQLite

SOURCE

The development version is on github at https://github.com/mschout/milter-limit and may be cloned from git://github.com/mschout/milter-limit.git

BUGS

Please report any bugs or feature requests to bug-app-milter-limit@rt.cpan.org or through the web interface at: http://rt.cpan.org/Public/Dist/Display.html?Name=App-Milter-Limit

AUTHOR

Michael Schout <mschout@cpan.org>

COPYRIGHT AND LICENSE

This software is copyright (c) 2010 by Michael Schout.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.