I had some of the same questions some months ago when I wanted to start sending out html e-mail announcements of new products, special offers, etc. to customers and others who had signed up to receive them from time to time. Since I had built a couple of web sites I reasoned that I should be able to figure out how to code html e-mail. I learned that html e-mail is a different beast. Since the feature set of e-mail clients isn’t as robust as web browsers, there are limitations. Most e-mail clients don’t recognize div tags, for example, so you will use tables for layout.
I didn’t get very far into it, though, because of much bigger issues. If you are going to the trouble of preparing html-formatted e-mail, I presume that you are sending broadcast e-mails; ie. the same e-mail to many recipients. And here you need to tread very carefully, because you risk being labeled a “spammer” and that introduces very serious consequences. If a couple or few of your recipients report your e-mail as spam to AOL, for example, AOL could block any e-mail that you might send to any of their subscribers. You might protest that your e-mail isn’t spam; perhaps it isn’t commercial, perhaps it’s a newsletter, perhaps distributed only to friends, family members and acquaintences. And perhaps they had specifically requested that you send it to them. But spam is very much in the eye of the beholder. If at any time any of your recipients decide they no longer want to receive you e-mail and report it as spam, rather than unsubscribing, it will be considered spam by the various service providers with all the consequences that follow. You may not be subject to the $11,000 per incident penalties called for in the 2003 Can Spam act, but you could still be blocked from sending e-mail to anyone who is a subscriber with the larger service providers.
One common complaint I read is that some providers (AOL? Yahoo?) have very large SPAM reporting buttons located prominently at the top of the page and some folks—upon deciding that they no longer want to receive your e-mail—will simply click on that Spam button to remove themselves from your list, and without understanding the implications.
For these and other reasons, I decided to go with one of the commercial e-mail services instead of trying to deal with the legal ramifications myself. There are a few of them and I think they all offer a catalog of templates which enable you to compose your own html e-mail—and modify their templates, if you’re familiar with html.