Put something on your website to capture from visitors' email addresses. An opportunity to be entered into a competition or a newsletter sign-up box often works. We've got the former on our website, and we're building up a list of customers to send a blanket email to. This approach is usually most successful, as the punters have opted in and are willing to receive an email from you
You could buy a list somewhere (agencies, forums etc), just be careful a) it's legal b) you don't get ripped off. Another way, probably the worst, is to scan websites for email addresses. 'Contact us' sections, for example, list email addresses within companies. This method however is time consuming and rarely effective.