Although you can't stop all the spam, you can cut down on it. One easy way is to establish a second address that you use only for filling in forms, etc. on the Internet. In this way, your private e-mail address isn't exposed to the spammers as much as it would be if you used it for all transactions.
This isn't a perfect way to stop spam, but this method will help to diminish the amount of spam you get on your private address. Of course, you'll get lots of spam on that new public address.