The particular working of the junk filtering pane (Preferences -> Mail Preferences -> Junk) is confusing, and the functionality it controls is (A) hard to understand and (B) arguably incorrect. I'm not just trying to gripe about this - I want to help work towards a better understanding of the junk filtering logic that can result in an improved UI, improved documentation, and possibly improvements to the junk filtering logic itself. Please let me know if it is better to discuss this in the bug tracker than on the mailing list. The UI itself leaves open certain questions: 1. What all does 'Check incoming messages for junk' control? Everything? Just the junk plugin (spamassassin/bogofilter)? Does checking or unchecking it affect whether custom headers are scanned? - Potential UI fix: the options for everything that is pre-empted by disabling junk checking should be disabled when the checkbox is cleared 2. What option is ignored if a match for custom junk headers is found? - The code suggests that the address book and and junk filter plugin logic are both ignored if custom headers are found 3. What happens if there is no junk plugin (bogofilter/spamassassin) installed? UI makes it looks like the custom headers will work, and address book checking will work. However, the code seems to disagree: looking at the junk_test function in camel-filter-search.c, it looks like everything is just bypassed if there is no junk filter installed. In my mail setup, I run SpamAssassin on the server (as a Postfix milter). I want Evolution to check the spam headers set by the server, but not to mess with running bogofilter or spamassassin or anything like that locally. Further, since my server's SpamAssassin doesn't know anything about my address book, I want the address book lookup to override the custom header check. The UI makes it ambiguous as to whether this is possible. Looking through the code, to the extent that I understand it so far, it looks like it is not. If I have no junk filter plugin, then Evolution will not do any checking, including for custom headers. If I have one, then I'm double-scanning my mail and slowing down Evolution. And the address book check doesn't interact with the header check. Also, custom header checks don't seem to be doing anything right now, but that seems to be a slightly separate issue. Is revisiting the UI and logic for junk filtering something that the Evolution devs are open to? I'm willing to throw some of my (sadly few) free cycles at implementing some cleanups, at least if they are to fairly self-contained code (I'm quite new to the Evolution code base). In particular, a few things I am immediately interested in making happen: 1. Making address book checks preempt spam header checks 2. (maybe) figuring out why the spam header check isn't doing anything 3. Making spam header & address book checks work without a spam filtering plugin 4. Making spam filtering UI disable things to show how it works - Michael -- Michael Ekstrand — http://elehack.net/
Attachment:
signature.asc
Description: This is a digitally signed message part