How Spammers Get Your Mail ID And What You Can Do If Spammed
Many methods are used to collect email addresses for spam. email addresses from web pages, mailing lists, and Usenet postings are collected. Mail Transfer Agents used to be configured to confirm if an email address was valid and to expand aliases so until recently it was possible to guess and confirm email addresses this way. Now similar programs try sending email to these addresses and save any that don't bounce back as valid.
I've been on the Internet long before spam emails (In the old days spam refered to posting Usenet articles to multiple newsgroups rather than UCE). I have an email address that I've used for over a dozen years and before I had spam filtering it got hundreds of emails/day.
Spammers often buy email addresses. I know these lists of email addresses are not that accurate. I have an email address that I used to use and that I turned off 5 years ago; as soon as I turned the email address back on it was flooded with spam. It was probably on a list still being sold to spammers.
There isn't much you can do about spam. When I had more time I traced down the source of the spam and reported the spammer to their ISP but the amount of spam we now receive makes this impractical.
About all you can do is use spam blocker software to filter out most of it.
There are programs that scrape the web, there are programs that will auto generate fake emails to send to large ISP's or free email providers, etc.
What to do about it?
Only sign up with sites that are trustworthy and explain what they do with your info, and use a spam filter on your Outlook. Gmail has a really good spam filter, so if you need free email that's web based, it's a good place to start.
I believe they get it a number of different ways. When you enter contests, giveaways or sweepstakes online those companies may sell your info. Spammer may even get them when you post stuff in forums.