spamproxyd



SPAMPROXYD(1)         User Contributed Perl Documentation        SPAMPROXYD(1)




NAME

       spamproxyd - mail filter to identify spam using text analysis


SYNOPSIS

       spamproxyd


OPTIONS

           --shared deliver the spam to shared+user.$user.spam
              (usefull for imap users (i'm using cyrus))

           --debug print the recipient inside of spamproxyd (using twice
           --debug will increase the debug)

           --recipient_mapping=file  reads a file which contains two emails
           per line
               (with <> around each email (depending on your mta)), space sep-
           arated.
               the spam coming to the first email will be sent to the second
           email
               (example : <joe@mydomain.com> <joe-spam@mydomain.com>

           spamproxyd used Mail::Spamassassin, which loads local.cf (in rules
           directory) as site-wide preferences. You may want to add/modify it.


DESCRIPTION

       IMPORTANT!  PLEASE read CHANGES.spamproxy before continuing!

       This is a prototype for an SMTP filter based on Mail::SpamAssassin
       (http://spamassassin.org, http://spamassassin.sourceforge.net).

       This was originally written with Postfix's filering in mind, based on
       the "advanced" example detailed in the FILTER_README file in the Post-
       fix distribution, but there's no reason why it couldn't be used with
       other servers.

       This script is just proof of concept right now; it may more than likely
       not be usable in a larger-scale environment where there's high volumes
       of mail being transferred.  However, it's currently good enough for a
       small-scale environment, like the IRC network for which I serve as
       postmaster, along with several other people I service on a small
       machine.

       This script requires Mail::Assassin (see above) and Net::SMTP::Server
       (http://www.macgyver.org/software/perl/, plus it is also in CPAN).  You
       also need a modified version of one of the modules in order to connect
       to a specific SMTP server, which I include in the package.

       Right now, this script has a couple of shortcomings:

       1.  Configurability, configurability!  This is especially true if this
       will
           filter for multiple people whose needs may be quite different,
       including
           per-user weighting of the "suspicious stuff", white-lists, etc, and
       of
           course, whether to tag spam then deliver (if wanted), even whether
       to
           filter at all.

       2.  What do YOU want? Who knows?  With Perl, your imagination's the
       limit.

       So far, I've managed to zap quite a bit of spam that'd normally go
       right through the server.  With Vipul's Razor, this can go up quite a
       bit.  If anyone has any ideas about Vipul's Razor and how I populate my
       arrays, please let me know.


SEE ALSO

       Mail::SpamAssassin(3) Net::SMTP::Server(3)


AUTHOR

       Ian R. Justman <ianj@esper.net>


CREDITS

       Justin Mason and Craig Hughes for Mail::SpamAssassin

       Habeeb J. "MacGyver" Dihu for his Net::SMTP::Server code

       Bennett Todd for the perforking code and option-parsing code from his
           pacakge, smtpproxy

       Special thanks go out to the crew at my usual IRC hangout, notably
       Barry Hughes, Matti Koskimies, plus a number of others whom I may have
       not given appropriate credit, but you still deserve it.  You've been a
       big help.  :)


PREREQUISITES

       "Mail::SpamAssassin" "Net::SMTP::Server"


EXAMPLES

       here is how i use it (postfix) :

       I added in :

       postfix main.cf :

       content_filter = smtp:localhost:10025

       postfix master.cf :

       localhost:10026     inet  n      -      n      -      10      smtpd
             -o content_filter=
             -o local_recipient_maps=
             -o myhostname=localhost.hansonpublications.com

       and i start spamproxyd via :

       ./spamproxyd.pl --debug 127.0.0.1:10025 127.0.0.1:10026


TODO

       Daemonize it

       Add signal catchs (for termination)

       Create a pid file



perl v5.8.0                       2002-08-15                     SPAMPROXYD(1)

Man(1) output converted with man2html