The best way I have found to reduce spam is to read email in plain-text format. I use Outlook Express, which has an option for viewing all messages in plain-text format. It took a couple of months, but now my spam has been reduced very significantly. To use the plain-text format option in Outlook Express:
Spammers use HTML to determine that our email address is valid. I am not familiar with the details, but it is my understanding they use the <img> tag for a non-existing image; the <img> tag however has a code in it that identifies us. When we open the message, the server (the spammer's server) records the event when we view the email. Using plain-text format to view all our email will cause some inconveniences, but it sure has not been much of an inconvenience for me. I can always turn it off temporarily when I need to view using HTML format. By using plain-text format, the spammers don't know we view their spam. After a couple of months or so we get dropped (I assume) from their lists of valid addresses.
See my Visual C++ Programmer Stuff page for more C++ stuff.