You can't stop spam arriving for you on your ISP's server but you can prevent at least some of it being downloaded to your Inbox. This is the most popular free software for the job:
http://www.mailwasher.net/
You can limit spam by setting up a separate mail account (with different addresses) for each online service that you subscribe to. (I'll often set up a new account just to receive mail relating to one post on AB). Then, if one account starts to get spammed, you can simply delete that account and create a new one for that service, without having to change your address for other purposes.
I use Gawab for creating new accounts (free of charge). I've used over 100 mail addresses but only 4 are currently active. For information about getting free mail accounts with Gawab, see paragraph 3, et seq, here:
http://www.theanswerbank.co.uk/Technology/Inte rnet/Question407429.html
Chris