In addition to folling with blacklists/whitelists (which will tend to not work too well), there are several types of spam filtering software available. I use a program called spamassasin on my linux box, which combines several types of filters, and gets much of the spam that comes my way, with a -- thus far -- 0% false positive rate.
One filter that seems popular right now, and with which I have had some success, is a so-called "Bayesian filter". It is basically a classifier that learns to sort spam from "ham" (good email) based on the user providing some initial guidance. You would mark messages as spam or ham, and the filter cottons on quite quickly. It is not perftect, but brings things down to a managable level.
There is an open source project I know of called SpamBayes, which is a nice implementation. I used it for quite a while on my old Mac and on my old Linux machine. They have a plugin version for Outlook. Initial installation is not too bad, and the docs were quite sufficient for me (a tinkerer, but no expert)
Check out spambayes.sourceforge.net
Cheers,
Hank