This is usually because someone got your email, so they now fake it as if its yours.
I would do this as below, I also posted this on another link here. You need to make sure your "main" email is confidential and stays that way, and you do that by never using it for online ordering or signups or anything like that, you use an alternate "spam" email for that.
For example sign up for a free web email at http://mail.aol.com (I think its the best webmail, I've tried other emails like yahoo email and hotmail and I think AOL has the best webmail and also best spam filter on the email.
Now you have your main email (which you need to get a new one of those also since your old one is now hacked or stolen, so just notify all your friends only with your new email).
Never give out your "main" email above to anyone except friends or family and never use it for anything else! This is your private email, so keep it private, never use it on messageboards or forums, never use it for online ordering, etc. Anytime you buy something online you can use your alternate email, then you can sign on to that to get your order confirmations or anything you need, you will have lots of spam on that one but you will rarely use it anyways.
One other I really like about AOL's free webmail, it not only has the best spam guard but also has features that you can set so "only the email list entered can email you". This will guarantee no spam, but typically you dont need that option if using the method above.