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