Courier::Filter 0.17 A purely Perl-based mail filter framework for the Courier MTA. (C) 2003-2005 Julian Mehnle ============================================================================== The Courier MTA's courierfilter interface ----------------------------------------- The Courier MTA offers an interface for daemon-style processes to act as mail filters, called courierfilters. For every incoming mail message, right after the DATA command in the SMTP transaction phase has completed, Courier calls every registered mail filter through a UNIX domain socket the filter is listening on, and feeds it the file names of the incoming message and one or more control files. The mail filter processes the message and its control file(s), and returns an SMTP-style status response. If the status response is a positive ("2xx") one, Courier accepts the message. Otherwise, Courier rejects the message using the returned response code and text. About Courier::Filter --------------------- Courier::Filter implements the courierfilter interface as a framework for mail filter modules that frees modules from the duties of creating and handling the UNIX domain sockets, waiting for connections from Courier, and reading and parsing message and control files. Thus, authors of filter modules can concentrate on writing the actual filter logic without having to care about things that can easily be abstracted and can be performed by the framework. Courier::Filter allows multiple filter modules to be installed, and filter modules can be stacked and grouped hierarchically, and even a module's polarity can be reversed, so some modules can be used for explicitly accepting messages while others are used in the traditional way for rejecting messages. Getting started --------------- Read the following perldocs in order to get started with Courier::Filter: * Courier::Filter::Overview * Courier::Filter * Courier::Filter::Module Upgrading from versions prior to 0.15 ------------------------------------- Starting from version 0.15, the Courier::* Perl modules are no longer being installed in your Perl's configured "vendorlib" path, but in the private path '/usr/share/courier-filter-perl/perl5'. (This is because Courier::Filter is primarily a plug-in for the Courier MTA, and not a library of Perl modules that are intended to be used by other programs or modules. However some of the modules (e.g. Courier::Message) are indeed designed genericly, and should any other program or module actually make use of them in the future, I will split them off into a separate library package.) Due to this partial relocation, upgrading from a version prior to 0.15 is probably best achieved by removing the old version and doing a fresh install. You can of course keep your old configuration file(s). License ------- Courier::Filter is free software. You may use, modify, and distribute it under the same terms as Perl itself, i.e. under the GNU GPL (version 2 or later) or the Artistic License. # $Id: README 199 2005-11-10 22:16:37Z julian $ # vim:tw=79