Email newsletters are more popular than ever, and everyone loves to design a rich website-like newsletter for their subscribers. Unfortunately, email isn't the web. Your beautiful design work might look great in one email program, but chances are when you look at the same work a different email program the results will not be the same.
Why? In a nutshell, some email clients are moving away from full CSS support. CSS (Cascading Style Sheets) is the technology that allows for modern, powerful, flexible website designs. (If you don't know what CSS is or how to use it, chances are the rest of this article isn't for you -- but show it to your email newsletter designer!)
As of early 2007, Gmail is the most restrictive as it will ignore all external and embedded style sheets. (It will support inline styles.) Worse, Microsoft's just-released Outlook 2007 actually takes a few big steps backwards in its CSS support. (Check out Campaign Monitor's article for the shocking lowdown!) For this reason, we consider compatibility with Gmail to be the baseline CSS support to design to. If it looks great in Gmail, chances are, it will look great in most other clients.
Even with inline styles, there are some restrictions. Fortunately, deprecated tag attributes will fill the role of certain disabled inline styles.
So here are ONE/Northwest's guidelines for creating successful email newsletters that will look good even in the worst email clients. We don't mention much about design aesthetics, just coding practices that will succeed in all environments. (For testing, we used Gmail, Outlook 2003, Outlook Web Access, Hotmail, and Yahoo).
Things To Avoid
Do not rely on external (<link rel="stylesheet">) or embedded style sheets (those contained within the <style> tag above the <body> tag). This is the most important thing to avoid. Many email services cut everything above the body tag and disable external style sheets.
Things To Do
Use tables for layout. Lots of them. You're welcome to try <div> tags for positioning and layout, but our research shows that tables are more consistently supported. C'mon now. Get over your table-phobia. But do very simple layouts, avoiding lots of nested tables. Not only will this make your layouts easier to use, you'll avoid problems with background colors (see point #3 below).
Use inline styles liberally in tables. 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 within each table. Think of these inline styles as miniature style sheets. This allows non-technical users to swap content in and out of pre-formatted cells in a modular fashion.
Avoid background colors in table cells that contain other tables. The background colors will disappear in Outlook 2007. Avoid background images entirely.
Test your newsletter by sending to yourself or colleagues. This will give you the chance to catch any problems before your whole subscriber list does!
Define background images using background= instead of the inline background-image call. Gmail, among others, will ignore any url() attribute in an inline style. Keep in mind, though that if the background image is ignored, the default color is going to be white. That means your white text on black backgrounds will disappear! Don't do it! Stick with text colors that are visible against a white background.
Don’t use images for important content like calls to action, headlines and links to your web site. Outlook, Gmail and others turn images off until allowed by the user. If your entire newsletter is graphical, all your recipients are going to see is a lot of broken images.
Provide alt text for all images.
Declare BOTH height AND width parameters for images. Poor old Outlook Web Access especially needs this for your table layout to display properly.