Designing html newsletters can be quite tricky to do so they are rendered the same in all providers. Between Outlook, Gmail, Hotmail, Yahoo and Aol there is quite a difference on how they are rendered. Here are some things that i find use when designing a html email.
1: Do not rely on external or embedded style sheets (those contained within the <style> tag above the <body> tag). Many email services cut everything above the body tag and disable external style sheets.
2: Use tables for layout (get over it). you can use <div> tags but they may behave differently in different email services while tables are more consistent. As an example padding on <div>'s is ignored in outlook 2007 while it is supported on table columms.
3: Use inline styles. In fact, you'll find you can get the best mileage out of inline styles in <td> tags. That way you are setting up little style regions/stylesheet within each table.
4: Don't use background images. Gmail, among others, will ignore any url() attribute in an inline style, and the simple background= tag attribute.
5: Don't use images for important content like calls to action. Outlook, Gmail and others turn images off until allowed by the user.
6: make sure you declare width, cellpadding, and cellspacing for all tables and table cells. Doing so will result in a fixed width for the template.
7: And last but not least make sure you test your email in all providers that it can go to. to ensure it renders correctly