One thing people should do is never use their real email addresses (other than for friends & family). Create a gmail account or 4, and set it to auto-forward anything sent to that account to your real email account.

If you need to start a facebook account, buy something, or whatever - give them the gmail account address.

When you start getting spam or something to that gmail account or annoying people, you can then delete that gmail account or cancel the autoforwarding so you don't have to deal with it.

If you pay the $20 a year or whatever for a pay yahoo email account, they then give you 2 email address, and a bunch of throw away email address - I can generate an unlimited # of email addresses that go to my yahoo account, that I can email out with, and that I can delete when they get too much spam.

Yes, it's complicated - but my "real" yahoo email account I've been using for over 10 years now. It would be a huge pain in my neck to have to change that email address or get the information off of it.