Markie - I have a dual strategy:
1) always have 2 email addresses - one that you give out to friends & family, one for general use - use the latter for any web page that needs an email address. That stops most spam, other than when spammers just email addresses at random. For that ...
2 a program called "choicemail" - you can get it from
here - sadly not free, $39.95 - about £19 - but this supports unlimited email accounts, there is a free version but it adds a message to the bottom of emails you send and only supports one email account.
Choicemail sits between the internet and your email program - when you send an email to someone it adds them to the "allowed" list, when you install it you can import your address book. If an email is received from an unknown person, it emails them a link to a web page which asks them to say who they are, why they are contacting you and type in a number from a picture on the screen. If they reply, you get notified and can then approve them - or not. The program shows a list of emails pending approval, you can check this and manually accept messages and/or the senders of them if you want to.
... it stops all my spam