Why HTML in E-Mail is a Bad Idea

Note: This page was originally written in 1998, maintained actively through 2004, and was sporadically updated through 2006. The author's feelings on HTML in email have largely changed since then (I no longer mind it much, and even send it myself in some contexts). This page is no longer actively updated.

Have a comment on the practice of using HTML (rich text / formatted) email? A discussion topic for this page is available here.

You may have been directed to this page because a message you sent was composed in HTML. This may have happened without you even knowing it, because Microsoft Outlook is configured to send HTML e-mail to all recipients by default. I believe that HTML e-mail is one of the uglier things Microsoft has wrought upon the Internet, and this page exists to explain some of the reasons why I feel that way. It's not that I don't think there are some nice things about HTML e-mail, just that I believe the reasons below far outweigh any benefits it provides.

If you take away only one thing from this page, let it be this: When you send HTML email, you have no guarantee that your message will be A) readable at all or B) visually legible to the recipient. With plain text email, you always have that guarantee, no matter what mail client the recipient is using.

Note: I have received a highly detailed, point-by-point rebuttal to the points made on this page and, in the interest of fairly presenting both sides of the issue, have posted it here.

Take the poll: For some people, feelings about HTML-formatted email have changed since this document was first written in the late 90s. Use this poll to let us know whether you still dislike HTML in email, or have grown to accept or even like it.


Table of Contents


HTML in e-mail is a bad idea ...

Kari Chisholm (Lewis and Clark College) contributes:

America Online strips and compresses attachments sent to their users. HTML-mail is often considered an "attachment" to a regular email, and as such, may never find its destination @aol.com. This is especially troublesome for folks using AOL 5.0 and earlier - the mail client wasn't fully MIME-compliant. See this FAQ Item for more information.

Corroboration: Other Articles on Similar Topics

Think I'm a lone wolf on this topic? Check out these mainstream publications and vendors with similar and related warnings on HTML email:

Wired News posted an interesting piece Friends Don't Email Friends HTML, which is worth reading.

The Register has an article on how the fact you can't disable receiving of HTML Email may have something to do with Microsoft being in the pocket of the spam lobby.

Comprehensive list of reasons why HTML and MIME-based mail is a poor choice in Configuring Mail Clients to Send Plain ASCII Text .

Or try Researchers reveal new Explorer, Outlook security flaw at ComputerWorld.

Even the Apple Knowledge Base has an article warning users about the dangers of HTML email.

How Your Mail Might Look to Others

So you spend all of that time creating a perfect layout for your message, hit Send, and assume that the recipient will see it in the same way. Bad assumption. There are millions of people using mail clients that are not HTML-compatible. No, you can't just say "Well, they should upgrade then." It's not as simple as that. People use these clients because they prefer them, not because they're dumb, or because they don't have the latest technology. People use them because they have features they prefer over Outlook etc., or because they can operate them via telnet sessions from any machine in the world, or because they prefer the anti-virus security they get by staying away from HTML e-mail.

Here's an example of how your carefully composed HTML e-mail might look to a user of just one of the many clients out there that don't handle HTML e-mail (this particular example shows BeatWare Mail-It for BeOS, but this is just an example).

evilmail.png

Notice how much space has been used just writing out the HTML header without even getting to the message body. HTML e-mail wastes space! Here's another shot, this time of your fancy-schmancy HTML email as viewed through pine, which is still an immensely popular text-mode email client because it's lightning fast, powerful, and can be operated from anywhere.

pine

As you can see, your message is almost completely unreadable. Note the sender's lie, "We strongly oppose the use of unsolicited email..." Yeah, right.

How To Fix the Problem

If you receive HTML email from people, feel free to direct them to this page. If you are on mailing lists or newsletters that send HTML email, request, no, demand that they offer an option to receive a plain text version instead of the formatted version. Most HTML-capable e-mail clients will let you disable HTML e-mail globally (for all messages) or on a recipient-by-recipient basics. For the reasons above, I recommend that everyone disable this feature globally.


Here's how to do it in MS Outlook and Outlook Express:

Pull down Tools | Options. Select the Send tab. Look at the section labeled "Mail Sending Format." Change the radio button from "HTML" to "Plain Text."


Al Adcock (aadcock@ipsousa.com) adds:

For Outlook 2000, it's:

Tools | Options | Click on the Mail format tab | select Plain Text from the Pulldown box, then click OK!


Here's how to do it in Hotmail

You can ensure that you're not sending out HTML email from Hotmail accounts by not using the "Rich Text" option in the message compose window. If you dig around in the options, I believe there's a setting that lets you turn off the Rich Text bar for all messages.


Xeno (xeno100@crosswinds.net) adds:

Here's how to do it in Eudora (all types), version 4 and up:

  1. From the Tools menu, choose Options.
  2. In the Category list, choose Styled Text.
  3. Choose the "Send plain text only" radio button.
  4. Clear the "Send the signature with styles" check box.
  5. Clear the "Ask me each time" check box.
To strip HTML from a message you are currently viewing in Eudora:
  1. With the cursor somewhere on the message body, press Ctrl-A to select the entire message text, or choose Select All from the Edit menu.
  2. From the Edit menu, point to the Text cascading menu, and choose Clear Formatting.
Alternately, the Select All and Clear Formatting commands can be added to the tool bar to simplify this task.

Saint John (StJ at mac dot com) adds:

Something that can be done in Eudora to cut down on the annoyance of others' HTML is to uncheck all of the codes in Special:Settings...:Styled Text. There's a section at the bottom of that panel, "When receiving styles, pay attention to"; unchecking everything makes HTML mail look like plaintext.


Here's how to do it in Netscape Communicator:

  1. Click Edit | Preferences
  2. Click "Mail & Newsgroups" (click the "+" to expand)
  3. Click Formatting
  4. Select "Use the plain text editor to compose messages"


Here's how to do it in Apple's Mail.app:

  1. Pull down Mail | Preferences
  2. Select "Composing" in the top icon row
  3. Change "Default message format" to "Plain Text"
  4. Close Preference panel.
You can also disable the display of HTML email by going to the Viewing icon and deselecting "Download all images, animations and other HTML attachments."

Thanks to Lorin Meier (Lorin dot Meier at loherangrin dot de) for this.

Chan-Ho Suh adds important information to the above:

I'm afraid that unchecking the HTML images, etc. button in Apple Mail viewing preferences does not stop the display of HTML emails. Rather, it disables images and other embedded objects. You will still see the text portion of the HTML email.

Not only is this highly annoying for reasons you mentioned, but it looks really ugly, especially if, as is frequently done nowadays, certain key parts of the message are contained in the images.

Luckily, there is a way to force Apple Mail to choose a plain text alternative, if available. Currently, you can do this manually for each email by choosing a menu option. Here's how to do it automatically:

Quit Apple Mail first, then open the Terminal appliation and type:

defaults write com.apple.mail PreferPlainText -bool TRUE

That's it! Next time you start Mail, you'll notice the difference. To undo this change, run same command again but with FALSE at the end.


Here's how to do it in MS Entourage for Mac OS X:

Even though it's a Microsoft product, Entourage is a great option because it gives you the kind of integrated email, contacts, notes, to-do lists, and calendars you get with Outlook, but without any of the viral susceptibilities (there are still no known viruses for Mac OS X or exploits for Entourage).

To disable all HTML email in Entourage, pull down Entourage | Mail and News Preferences. Uncheck the "Show HTML Formatting toolbar" box and set the Mail Format picklist to "Plain Text."


How to switch off HTML in Mozilla 1.6 for Mac:

1. Click on Edit
2. Select Mail & Newsgroups Account Settings
3. Select Composition & Addressing
4. Unclick Compose message in HTML format


Here's how to do it in Pegasus Mail:

Go to Tools-Options-Outgoing Mail-Message Formatting and tick the box "Disable all text styling options (never send styled mail)"


Here's how to do it in Calypso:

Henry Baker (hbaker@ipa.net) adds:

I've been using a great email client named Calypso ever since it first came out. In those days, of course, email programs were simply that and "rich text" was left where it belongs -- on theWeb and inword processors.But that was before Gates got his grimy fingers into everything.

Anyway, I've been using Calypso v.2x all these years and just never bothered to upgrade to v3 when it came out. Then I decided to the other day and discovered they've discontinued the program. They claimed it didn't meet their revenue expectations enough to continue with it. But an email got me the developers' directory where I could download it and it turned out it wasn't $40 any more -- it was free. What a deal.

It's a world-class email client -- the best on earth, in my opinion. If you're interested in taking a look at it, I put all the files in a directory on my website:

http://www.10xshooters.com/calypso-free

Here's how to disable HTML in Calypso v.3x:

  1. Highlight mailbox name in tree;
  2. In the top menu click Mailbox;
  3. Click Properties;
  4. Click Security tab;
  5. Check the box beside "Disable rich text (HTML) messaging;"
  6. Click OK.


Notes on BareBone's MailSmith for Mac (Classic and OS X):

Jason Davies (ucgajpd at ucl dot ac dot uk) notes:

Mailsmith refuses to render HTML but (nowadays) offers a simplified plain text version. If you want to read the html you have to open the attachment in a browser. Thus it is impossible to get caught in many of the problems. At least this way you can protect yourself against the menace, if not receiving it. And you certainly can't send it!

have a look at www.barebones.com for Mailsmith which, for searching, indexing, scripting and interface, beats the other emailers hands down. Of course you don't need to adjust the settings...

However, an anonymous reader writes to add:

This is actually MORE dangerous, as you will open a local file with the Browser. Local often implies that many security features are disabled as in (your link) "Researchers reveal new Explorer, Outlook security flaw".


MailMan

If you run a MailMan-based mailing list, you can disable HTML email list-wide.

Go to the "Content filtering" page in the administrative interface, select "convert text/html parts to plain text" and bid HTML messages on your list a fond farewell. Actually, sending them off to oblivion with a scornful parting shot is more like it.


Have a comment on the practice of using HTML (rich text / formatted) email? A discussion topic for this page is available here.

Because my feelings about the problems with HTML email have for the most part changed, this page is no longer actively maintained.