I use spamassassin. I have however noticed that using a level of 1.4 i
exclude almost all spam, using 6 i include all ham.
in the 1.4-6 range there is mostly spam but also some kind of wanted
messages.
Whitelisting is not enought since most of such messages come from unknown
people. I have however noticed that almost all such falsely flagged
messages have one of the two characteristics in common:
A: they have passed from a certain list of server (so just hunting for
past received headers would be ok, i know that previous headers can be
faked, but unless one knows exactly my list is safe, after all it is just
telling sa to ignore server reputation for such message in evaluation.)
B. they contain in the body at least 2 word from one of a few lists chat
i can easily update (for example: if i post data for an excursion on a
web page, i cannot expect all people form correctly message, so if they
put in the message body the date or the place of the excursion, even if
the message has some flaws that put it in the 1.4-6 range removing 1 point
if one word is found and 3 if 2 or more are found would put it again in
the ham area.
Where is the problem: does someone know how to -and can explain or give
references to an already written howto- configure spamassassin, possibly
on the user side (not on the general configuration, since different users
could have different server and word lists) to arrange such filtering ?