Once you determine your need for a database, then you have to decide what you're going to do with the information you have in the database. Are you going to mail postcards, send emails, or call them? I would say the most cost effective way is to email them, if your demographic is the "email" type of crowd.
The best way online to get people to sign up for your newsletter or email program is to offer some sort of premium for doing so. Some businesses, such as InkCycle, have the luxury of not having to push people to sign up for the newsletter because we offer a high-involvement product to our dealers. Our dealers want to know the price specials, trade show information, and what's going on in the industry, so they sign up for the business value. You might not have that luxury. Your customers (whether B2B or B2C) will sign up for very different reasons.
It's up to you to determine what that reason is, because it depends on your target market. You might offer a white sheet providing them with "how to save money and increase efficiencies" that outlines reasons for using remanufactured cartridges over the OEM. It just needs to have value to the person signing up.
With most of the online management tools available for a small fee to businesses, you have an easy way to manage and utilize your customer and prospect database to its fullest. At InkCycle, we have a custom program that automatically adds the contact information provided from our online sign up page into our database. Other options might require a simple html form that requires the manual insertion of information into the database.