I used to be a fan of HTML email. I use Microsoft Outlook and
Microsoft Outlook Express. Both email clients happily receive
email containing HTML and display render (display) the HTML
for you. They'll even go to sites on the web to pick up pictures.
I loved this type of mail because I receive HTML mail from many
companies that I do business with... I thought it made the emails
easier to read, or better laid out. I also started using it because
it was the default setting in the Microsoft mail clients, and like
many people I couldn't be bothered (and hadn't yet realized I wanted)
to turn if off.
I was seduced by something I didn't need, and along with this
embedded HTML came a host of problems.
I now consider HTML email to be evil, and it should be stamped
out. Turn off HTML rendering in your email client and people who send you email to use
plain text only.
HTML email is evil because it's large, it's a spammer's dream come
true, it's a privacy risk and is virtually unreadable
on a handheld device.
The Reasons Why
1. HTML email is large and wastes your Internet connection
HTML email is bloated. If you wish to send the simple message "Hello, World!"
in Outlook Express you end up sending this monster in the body of the email:
This is a multi-part message in MIME format.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<META http-equiv=3DContent-Type content=3D"text/html; =
<META content=3D"MSHTML 6.00.2723.2500" name=3DGENERATOR>
<DIV><FONT face=3DArial size=3D2>Hello, =
What you wanted to send was 13 bytes, you ended up sending 745! There are two reasons for this:
firstly, as you can see from the lower part of the example above, sending HTML requires a lot of
extra information (the valid HTML!) to send your message (and Microsoft adds more than is strictly
necessary by specifiying colors and fonts); secondly your message gets included twice because some
people don't have HTML capable email clients the message is encoded once as plain text (that's the
text/plain bit at the top) and then as HTML (the text/html). Your mail is guaranteed to by twice
as big as the text you type in!
Of course some senders of HTML email save space by not sending the plain text version, then
the poor recipient has to have an HTML email client, or else! Or else they'll receive the raw
You can see those two effects in action by examining the following table. It shows actual emails that
I received from companies that make use of HTML email and measures the amount by which they were
bloated because of the use of HTML.
|Sender||Size (bytes)||Text Size (bytes)||Bloat|
The average bloat caused by HTML email is 362%. Your mail is 3 1/2 times bigger than it needs
to be. It takes 3 1/2 times longer to download than it needs to, and the figures above do not include the size of
any images that are downloaded from the Internet when you look at the message. For the Amazon example above that adds
Of course, the companies above offer the option of plain text only email.
2. HTML email is a spammer's dream
I maintain The Spammers' Compendium that lists various tricks that
spammers use when sending spam emails designed to evade filtering. A full 80% of them are based on HTML;
eliminate HTML in email and you eliminate 80% of the tricks spammers use. Eliminate the tricks and
spam gets easier to filter.
Here's just one example The Spammers' Compendium:
What: Split words using HTML comments, pairs of zero width tags, or bogus tags
Date added: January 17, 2003
Examples from the wild:
milli<!-- xe64 -->onaire
Fi</n>nd N</n>ew </n>Fri</n>end</n>s
Not only do spammers use HTML to disguise their messages, they also use HTML to autoload images into your
browser to make their message more compelling (or more pornographic) and to track who actually reads spam (see section 3 below) so that
those people can get more!
3. HTML email is a privacy risk
HTML email is a privacy risk because it's trivially easy for the sender to embed a unique web bug inside
an HTML email message that gets first when the mail is read (or even previewed within the preview area in
Outlook and Outlook Express). That web bug is a small invisible graphic with a unique URL on a web server
of the senders choice. When the mail is read the web bug is downloaded and the web server it came from
makes a note of the image downloaded. By making the name of the image unique for each mail sent out a
curious emailer can tell whether you downloaded and read the mail, and when and which ISP you were connected
If you include this little piece of HTML in the email you send it'll fire a web bug on UseTheSource that
will record the name of the recipient. (Just replace the word email with the email address of the person
you were sending the message to.
<img src=http://www.usethesource.com/webbug.gif?email width=1 height=1>
The recipient will not see the image (it's a transparent 1x1 dot) but my web server will record the email
address after the ? in my logs. You, or a malicious person, could do the same thing. And spammers do
this all the time; that way they can reliably tell whether your email address is worth spamming!
4. HTML email is useless on handheld devices
If you have a fancy handheld device like a phone, Blackberry, or Palm device then you'll realize that
what works well on the web doesn't work well on that tiny screen. HTML email will not render well on the
device because it is normally designed for a much larger screen and most HTML downloads images (the last thing
you want on a slow and expensive handheld connection).
This problem goes away if the sender includes a plain text version of the HTML message, but some senders
only include the HTML version meaning their message is missed on the handheld.
Call To Action
Speak no evil: dont send HTML email. Go into your email client and make sure that the default setting for
email is plain text.
Hear no evil: opt out of HTML email. Go to the web sites of companies that you do business with and
opt for text only email.
See no evil: disable the display of HTML email in your mail client.