Helping people with computers... one answer at a time.
HTML email is often used to make email visually appealing. Unfortunately HTML email often does the opposite depending on the recipient's email program.
I'm having a problem with Outlook 2003. When I send an HTML email through Outlook 2003 the email looks great, but when it is received it looks like someone blew it up. All of my layers are either missing or moved. Almost every piece of formatting put into the email is removed. I send one copy of the email to myself and it appeared as good as it was when I sent it.
HTML formatted email can be pretty cool. You can make exceptionally beautiful email, almost works of art even.
And then when you send it there's a very good chance that all that work might simply disappear, and at worst be completely and totally unintelligible to your recipient.
HTML is a standard.
HTML as rendered in different email programs? Not so standard.
The problem is, at its root, very simple: HTML was developed for web pages, and email is not a web page. I'll also put it another way: email programs are not web browsers. Now, that's certainly oversimplifying things, but the problems we see with HTML formatted email all pretty much trace back to that.
The question boils down to this: how much HTML must an email program support?
The simple stuff is obvious: formatting like bold and italics, paragraph delineation and the like are useful and, above all, safe concepts.
How about layout things like tables? Or more complex layout options like floating objects, font size changes and the like? The problem here is that not only are these items more difficult for email programs to display, they're also all being abused by spammers. Tables are being used to circumvent simple "banned words" detection; spammers use tiny fonts to overload the email with random text to make it "look like" it isn't spam; floating objects are often used to hide things, or make it look like you're about to click on one thing when you're in fact being taken somewhere else entirely.
HTML is powerful, but with that comes the ability to really mess things up.
So different email programs have opted to support different levels of HTML. Some will support almost all HTML constructs. Some will support only the bare bones simple formatting constructs.
And others don't know what to do with HTML at all, and end up displaying the HTML in it's raw format.
Given the mix of what might be supported and what might not be supported, then add in image blocking which is often turned on by default, it's simply unrealistic to assume you can control the exact appearance of what your recipient sees in email. You can control a few things, and of course you can control the text (which is the point of your email anyway, right?), but if you really want exact, pixel-by-pixel layout or super fancy formatting, then email simply isn't the medium for that message.
So what steps should you take?
Don't use Microsoft Word as your email editor. On top of everything else, Word uses proprietary HTML that will only work if your recipient is also using Word to view their email. Use Outlook's internal HTML editor, or something else entirely.
Don't use most WYSIWYG HTML editors to compose email. Unless you're hand-editing the HTML itself, they often create complex and cumbersome HTML.
Don't go overboard with formatting. The simpler you can keep it, the greater the chances that your recipients will actually be able to view it.
And if you're into HTML directly, use tables, not CSS positioning, don't even think about using stylesheets, and use in-place attributes rather than any kind of in-line style definitions. And that's just a start.
And be prepared for the HTML to be stripped out entirely. Make sure that your message still makes sense should all the formatting and images disappear completely.