[spambayes-dev] SpamBayes server compliant w/ spamassassin
Skip Montanaro
skip at pobox.com
Sat Apr 24 22:31:37 EDT 2004
jkx> 1) you still need to create a python process for every incomming
jkx> mail sb_bnfilter. And python, even if it not a weight bloat,
jkx> python eat something like 4.5Mb of memory instead of the poor
jkx> 500Ko of spamc
The sb_bnfilter/sb_bnserver combination runs several times faster on my
machine. It would probably be faster if you recoded sb_bnfilter.py in C.
Feel free.
jkx> 2) sb_bnserver need to be launch by the user (thought sb_bnfilter),
jkx> and it is written in this way, so it isn't system-wide filering.
jkx> spamc as some usefull stuff like round-robin filtering .. For
jkx> example, if i need to dipatch a lot of mail in mailbox (mailing
jkx> list for example), for every user it will fork n servers .. and
jkx> so on ?
I don't recall that you said you wanted a single system-wide filter.
Spambayes isn't designed that way at any rate. It will require some
significant effort.
jkx> I think sb_bn* is pretty nice for a system w/ only few mail
jkx> accounts and should performs very for bursting email dispatch for a
jkx> single user like after a fetchmail... but this isn't my goal.
Some folks have experimented with using Spambayes for system-wide filtering.
I don't know that anybody's produced any conclusive results.
That said, one approach might be to rework sb_bnserver.py to open several
unix domain sockets (one per user) and listen on all of them. When a
connection is made on a socket spin off a new thread to handle it and use
that user's database to score the message. If the user doesn't have a
database of their own, default to a general database.
Once you have that working, you can rewrite sb_bnfilter.py in C to reduce
memory consumption and maybe improve performance a bit. sb_bnserver.py
could probably be sped up just by running it with psyco.
Skip
More information about the spambayes-dev
mailing list