UI for correcting mistakes

elijah elijah at riseup.net
Thu Mar 13 21:14:27 CET 2003


A key difficulty, it seems to me, in deploying bogofilter for a wide
user base is creating a really easy way for the average user to correct
mistakes.

I have developed a method which I think works ok, but I am curious what
other people are doing.

Some ideas:

1) aliases

set up aliases which pipe the *bounced* mail to bogofilter with the
appropriate switch to correct missed spam or ham.

advantages: works with any mail client which supports bouncing. agnostic
when it comes to the rest of the mail system.

disadvantages: most clients don't support bouncing. could be open to abuse
unless you monitor the corrections or limit who the bounces can come from.

2) client hacks

this includes all the possible modifications to mail clients to add spam
awareness. might include adding new key bindings, writing modules to add
special buttons to a web mail client, or writing macros or plug-ins for
mail clients like mozilla-mail, outlook, eudora.

advantages: easy for the user
disadvantages: each client is totally different, so it is a big project to
be able to support most clients. users with their own clients would have
to download custom software.

3) server folders

establish a rule like this:
- if a user manually puts a message in their spam folder
  (and it was not delivered there because it was tagged spam by
  bogofilter) then import this as a 'missed spam' correction.
- if a user manually puts a message previously identified as spam
  in their regular trash, then input this as a 'false positive'
  correction.

advantages: works with all IMAP based mail clients. easy to implement.

disadvantages: does not work with POP (requires server side folders).
requires that users configure their IMAP clients to use server folders.
implementation dependent on you mail storage setup.

4) embedded links

the body of a suspected spam could be modified to provide a URL for
correcting a 'false positive'.

it might work like this: bogofilter could add a header which was a hash of
the message--something which has a good chance of uniquely identifying the
message quickly. the correction URL is keyed on this hash and the user's
address. the form of the URL is configurable in the bogofilter config
file. when the user clicks the URL, a custom web script is activated which
scans the user's mail for a messages with a header with the hash value.
if it finds the message, the message is imported into bogofilter as a
correction. if not, it reports to the user that the message could not be
found. This could also work similarly with a mailto href.

I think the code for the web script would be very easy. I assume that the
bogofilter side code would be too. I don't know about the trickiness of
modifying the bodies of mime-multipart messages.

advantages: VERY easy for all users and all clients.
disadvantages: requires custom programming depending on your particular
mail storage. does not include a way to correct 'false negatives'.

5) lobotomized aliases

since most clients don't support bouncing messages, you could set up an
alias which accepted forwards. The first thing it did was strip away all
the headers and try to remove the 'forward' stanza. Then it would pass it
to bogofilter.

advantages: works with all clients.

disadvantages: you loose a lot of the most important information when you
strip away the headers. same disadvantages as aliases.

----

Anyway, those are some of my ideas. I have the 'server folders' method
working pretty well with a simple little bash script using maildirs. I am
really curious what other things people are doing. Are there creative
things which I missed? It would be very cool to have a 'cookbook' section
to the FAQ or website where it listed some of the different setups people
have working.

-elijah





More information about the Bogofilter mailing list