Technology in terms you understand. Sign up for the Confident Computing newsletter for weekly solutions to make your life easier. Click here and get The Ask Leo! Guide to Staying Safe on the Internet — FREE Edition as my thank you for subscribing!

Why does my HTML email look different to the recipient than it does to me?

Question:

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.

Become a Patron of Ask Leo! and go ad-free!

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.

HTML is incredibly powerful. And while not strictly HTML, things
that you’ll find on web pages built in HTML like Javascript, ActiveX,
embeddable objects, AJAX and a bunch of other technologies have taken the web
to a whole new and incredibly powerful level.

“… email programs are not web browsers.”

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 HTML. Use plain
    text
    . Seriously, getting your email delivered and read is often a classic
    case of substance over style.

  • 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.

Do this

Subscribe to Confident Computing! Less frustration and more confidence, solutions, answers, and tips in your inbox every week.

I'll see you there!

3 comments on “Why does my HTML email look different to the recipient than it does to me?”

  1. Dear Mr. Notenboom,

    Thanks for your essay. Your essays are always clear, useful and informative. I love them.

    I agree with you 99% on this essay and your opinion is exactly what I usually say to my friends.

    However in some cases I must use HTML only because of the problem of encoding.

    Some web-mail services do not support special encoding like Arabic, nor Unicode. And when I write in Arabic using plain text on web-mail system the recipients usually can not read the content.

    However when I write in Arabic using HTML style the recipients most probably can read it. I don’t know the technical reason but it works!

    So sometimes I could not help using HTML style.

    Just for your information.

    Reply
  2. I am sorry, but your answer is an old wife’s tail. The simple proof is that if I put the formatted message in a word document and have a friend use it to copy the formated text into a message and send it to me, my email program, outlook has no problem showing it. The problem only shows up with one’s own emails. I have received many heavily formatted emails from others without losing any of the formatting. But my own messages lose the most basic formatting when copied to myself. The other receipient has no problem with it regardless of whether he is using Outlook or not.

    Reply
  3. Most email programs give you the option to sent the emails in html and plain text at the same time. If you feel you need to send html this is a good compromise. Also most emails let you decide whether to sent html or plain text depending on who’s receiving it. So if you have a person complain that they can’t read your emails go into the address book and set the receiving format to plain text for that person.

    Reply

Leave a reply:

Before commenting please:

  • Read the article.
  • Comment on the article.
  • No personal information.
  • No spam.

Comments violating those rules will be removed. Comments that don't add value will be removed, including off-topic or content-free comments, or comments that look even a little bit like spam. All comments containing links and certain keywords will be moderated before publication.

I want comments to be valuable for everyone, including those who come later and take the time to read.