There are many great freebies, that you can get online, if you are willing to give them your email address. Examples would be ebooks, downloadable vidoes and use of social networking sites. The problem is that even if the company you give your email to is legit, they may sell their email database to someone who will send you unwanted emails. What I do is, to use an Yahoo email box specifically created for catching spam. I can validate the email address, but that's all I use it for. If that box gets thousands of unwanted emails, I don't care.
Web Spiders
There are programs called web spiders that go through the entire internet looking for email addresses. If your email address is on an web page anywhere, they will find it and add you to their list. You can test whether your email address is published anywhere, by entering it into Google Search. If you find that it is published, try to remove it.
Generic email addresses
Web spider can also be used to collect domain names, from web site addresses. Spammers then send emails to generic email addresses, to see if they exist. Examples of generic addresses are: info@, contact@, contacts@ , mail@, sales@, enquiries@, root@, home@ , webmaster@. So don't use those addresses.
Share your thoughts on spam