Synopsis
An Evolution plugin that allows Evolution to use the SpamBayes bayesian filtering system.
The plugin is based on the Bogofilter EPlugin by Mikhail Zabaluev with some "pass message to process" code from the built-in SpamAssassin filtering plugin by Vivek Jain (amongst others).
The plugin is implemented using two python support scripts, one (sb_evolution_plugin_server) which sets up a DBus server holding the SpamBayes database and another (sb_evolution_plugin_client) which can query the client and tell it to train or untrain on messages received on stdin.
The Evolution plugin is implemented as a simple C EPlugin for Evolution using some junk-mail hooks in the evolution EPlugin architecture which is not published on the web yet (for unknown reasons).
ChangeLog
- Version 0.1.7: (2008-05-15)
- Automatically remove the database if we get bsddb.db.DBInvalidArgError when trying to open the database, it means that we have a "invalid hash version" error from the spambayes db layer - and there is no way to recover from that (i think).
- Version 0.1.6: (2008-03-02)
- Support for Evolution 2.12.
- Better logging and error handling.
- Version 0.1.5: (2008-01-05)
- Add a log file for easing debugging.
- Version 0.1.4: (2007-08-06)
- Fix a small bug in the score() code.
- Version 0.1.3: (2007-08-05)
- The plugin now maintain its own "seen messages" database, this allows the plugin to tell whether or not it needs to untrain before training on a message.
- It also allows the plugin to finally support the "Train on all messages" option, where all messages which the plugin is told to score, is automatically trained as either spam or ham (unsure messages are still just scored).
- Version 0.1.2: (2007-07-20)
- Now uses Evolution 2.10.
- Version 0.1.1: (2007-04-04)
- Now uses DBus activation to start the server, rather than relying on the client to do the right thing.
- Version 0.1.0: (2007-03-01)
- Removed the train on all messages option, as it is not implemented.
- The software is now ready for other people to try it (IMHO).
- Version 0.0.6: (2007-02-25)
- The previous version didn't rate anything as spam, only ham, mail are now scored correctly in evolution.
- Added a way to edit the settings to tune the spam-engine using a graphical frontend, this is not yet integrated into the rest of the system in any way so you will have to start it manually.
- Also includes a way to test messages by dragging them from evolution and dropping them on the application.
- The addition of the new application means that we now depend on python-gtk2 and python-glade2.
- Fixed some character encoding issues with sending the data over DBus, it is not perfect yet, but works for sending mail messages from evolution to the SpamBayes server.
- Version 0.0.5: (2007-02-24)
- Fixes a bug where the returned spam rating was always 0, causing all mail to be marked as ham.
- Unsure are also now marked as "not-spam" in evolution (since evolution lack the unsure way of thinking, this seems like the most reasonable alternative).
- Now uses GConf for storing the spam/ham cutoff values, a graphical way to change this is in the works.
- Version 0.0.4: (2007-02-20)
- Use DBus rather than XML-RPC for talking to the server.
- Version 0.0.3: (2007-02-17)
- Add a way to ping the SpamBayes XML-RPC server.
- When starting the server, don't use the server until it is ping'able.
- Version 0.0.2: (2007-02-11) Minor fix to "train as ham" call.
- Version 0.0.1: (2007-02-11) Initial version.
Issues
Server startup
Fixed in version 0.0.3.
Training SpamBayes
~
Fixed in version 0.1.3
Where does unsure fit in?
Should the plugin do something specific to facilitate the unsure result of the SpamBayes engine?
Ideally Evolution wouls support the unsure option and make it possible to either mark the message as spam or ham (both buttons/menu-options should be active), but the message should still be delivered in the normal fashion.
An "unsure" icon in the message list (or a, maybe orange, background color in the message list), would also improve usability in my oppinion.
Conflicting with existing spam filtering plugins
More crash resistant
The spambayes database is too easily corrupted when the plugin is not shut down properly, maybe a "backup" copy should be saved that we can revert to in case of corruption.
Why use XML-RPC ?
Version 0.0.4 uses DBus.
Options
- Introduced in version 0.0.6
- Not needed as the plugin now uses DBus.
- Same as above.
Download
Debian packages is available for etch in my DebianRepository, the source code (with debian packaging stuff in the debian/ dir can be downloaded from the source repository.
Comments (0)
Post comment
If you wish, you can use markdown syntax in the comment field.