HTML email: Difference between revisions

Content deleted Content added
m Adoption: Punctuation
 
(245 intermediate revisions by more than 100 users not shown)
Line 1:
{{Short description|Type of email}}
'''HTML email''' is the use of a subset of [[HTML]] (often ill-defined) to provide formatting and [[semantic web|semantic]] markup capabilities in [[email]] that are not available with [[plain text]].
{{Use dmy dates|date=December 2022}}
{{POV|talk=POV|date=December 2021}}
'''HTML email''' is the use of a [[subset]] of [[HTML]] to provide formatting and [[semantic web|semantic]] markup capabilities in [[email]] that are not available with [[plain text]]:<ref>{{Cite web|title = Text Email vs HTML Email – The Pros and Cons {{!}} Thunder Mailer – Mass Emailing Software|url = http://www.thundermailer.com/text-email-vs-html-email-the-pros-and-cons/|website = thundermailer.com|access-date = 2016-01-30}}</ref> Text can be linked without displaying a [[URL]], or breaking long URLs into multiple pieces. Text is wrapped to fit the width of the viewing window, rather than uniformly breaking each line at 78 characters (defined in [https://tools.ietf.org/html/rfc5322 RFC 5322], which was necessary on older [[Data terminal#Text terminals|text terminals]]). It allows in-line inclusion of images, [[Table (information)|table]]s, as well as diagrams or [[mathematical formula]]e as images, which are otherwise difficult to convey (typically using [[ASCII art]]).
 
== Adoption ==
Most graphical [[e-mail client]]s support HTML email, and many default to it.<ref>[http://www.expita.com/nomime.html#programs Configuring Mail Clients to Send Plain ASCII Text] — E-mail client programs</ref> Many of these clients include both a [[GUI]] editor for composing HTML e-mails and a rendering engine for displaying received HTML e-mails.
 
Most graphical [[email client]]s support HTML email, and many default to it. Many of these clients include both a [[GUI]] editor for composing HTML emails and a rendering engine for displaying received HTML emails.
HTML mail allows the sender to properly express headings, bulleted lists, emphasized text, [[subscript]]s and [[superscript]]s, and other visual and [[typographic]] cues to improve the readability and aesthetics of the message. It allows in-line inclusion of diagrams or mathematical formula as images, which are otherwise difficult to convey (typically using [[ASCII art]]).
 
Since its conception, a number of people have vocally opposed all HTML email (and even [[MIME]] itself), for a variety of reasons.<ref>[https://subversion.american.edu/aisaac/notes/htmlmail.htm HTML Email: Whenever Possible, Turn It Off!]</ref> For instance, the ''ASCII Ribbon Campaign'' advocated that all email should be sent in [[ASCII]] text format. Proponents placed [[ASCII art]] in their [[signature block]]s, meant to look like an [[awareness ribbon]], along with a message or link to an advocacy site. The campaign was unsuccessful and was abandoned in 2013.<ref>{{Cite web |title=The Ascii Ribbon Campaign official homepage |url=http://www.asciiribbon.org/ |access-date=30 January 2016 |archive-url=https://web.archive.org/web/20100311081242/http://www.asciiribbon.org/ |archive-date=11 March 2010 |url-status=dead }}</ref><ref>{{Cite web|title = Shutdown of the ASCII ribbon campaign – Pale Moon forum|url = http://forum.palemoon.org/viewtopic.php?f=4&t=2705|website = forum.palemoon.org|access-date = 2016-01-30|archive-url = https://web.archive.org/web/20160203102930/http://forum.palemoon.org/viewtopic.php?f=4&t=2705|archive-date = 3 February 2016|url-status = dead}}</ref>
 
While still considered inappropriate in many newsgroup postings and mailing lists, HTML adoption for personal and business mail has only increased over time. Some of those who strongly opposed it when it first came out now see it as mostly harmless.<ref>[http://birdhouse.org/blog/2006/01/15/html-email-the-poll/ HTML Email: The Poll] (Scot Hacker, originator of the much-linked-to ''Why HTML in E-Mail is a Bad Idea'' discusses how his feelings have changed since the 1990s)</ref>
 
According to surveys by [[online marketing]] companies, adoption of HTML-capable email clients is now nearly universal, with less than 3% reporting that they use text-only clients.<ref>{{Cite web|title=Email Marketing Statistics and Metrics – EmailLabs |url=http://www.emaillabs.com/tools/email-marketing-statistics.html |date=2007-03-29 |access-date=2016-01-30 |quote=HTML has nearly universal adoption among consumers: A Jupiter Research consumer survey found just 3% receive only text email. |url-status=dead |archiveurl=https://web.archive.org/web/20070329012457/http://www.emaillabs.com/tools/email-marketing-statistics.html |archivedate=29 March 2007 }}</ref> The majority of users prefer to receive HTML emails over plain text.<ref>{{Cite web|title = Real-World Email Client Usage: The Hard Data {{!}} ClickZ|url = https://www.clickz.com/clickz/column/2138714/real-world-email-client-usage-the-hard-data|website = clickz.com|access-date = 2016-01-30|last = Grossman|date = 2002-07-09|first = Edward|quote = Do you prefer receiving HTML or text email? HTML: 41.95%, Text: 31.52%, No preference: 26.53%}}</ref><ref>{{Cite web|title = The Science of Email Marketing|url = http://www.slideshare.net/HubSpot/the-science-of-email-marketng/32|website = slideshare.net|access-date = 2016-01-30|quote = In what format do you prefer to receive email messages from companies? HTML: 88%, Plain text: 12%}}</ref>
 
== Compatibility ==
Email software that complies with [https://tools.ietf.org/html/rfc2822 RFC 2822] is only required to support plain text, not HTML formatting. Sending HTML formatted emails can therefore lead to problems if the recipient's email client does not support it. In the worst case, the recipient will see the HTML code instead of the intended message.
 
Among those email clients that do support HTML, some do not render it consistently with [[W3C]] specifications, and many HTML emails are not compliant either, which may cause rendering or delivery problems.
Note that [[Unicode]] supports many such complex characters, but font support issues with Unicode limit the usefulness of this possibility.
 
In particular, the <code><nowiki><head></nowiki></code> tag, which is used to house CSS style rules for an entire HTML document, is not well supported, sometimes stripped entirely, causing in-line style declarations to be the [[De facto standard|''de facto'' standard]], even though in-line style declarations are inefficient and fail to take good advantage of HTML's ability to [[Separation of content and presentation|separate style from content]].{{citation needed|date=January 2015}} Although workarounds have been developed,<ref>{{cite web|url=http://premailer.dialect.ca/ |title=Premailer: make CSS inline for HTML e-mail |publisher=Premailer.dialect.ca |accessdate=2012-06-24}}</ref> this has caused no shortage of frustration among newsletter developers, spawning the [[grassroots]] Email Standards Project, which grades email clients on their rendering of an [[Acid test]], inspired by those of the [[Web Standards Project]], and lobbies developers to improve their products. To persuade [[Google]] to improve rendering in [[Gmail]], for instance, they published a video montage of grimacing web developers,<ref>{{cite web |url=http://www.email-standards.org/gmail-appeal |title=The 2008 Gmail Appeal &#124; Email Standards Project |publisher=Email-standards.org |accessdate=2012-06-24 |url-status=dead |archiveurl=https://web.archive.org/web/20120515030536/http://www.email-standards.org/gmail-appeal |archivedate=15 May 2012 }}</ref> resulting in attention from an employee.
Many HTML-based GUI [[email client]]s automatically convert common plain text characters, like '''-''' and '''"''', into their proper typographic equivalents, like '''—''' and '''“''', which are not part of 7-bit [[ASCII]]. This can cause translation problems in other users' clients.{{citation needed}}
 
{| class="wikitable"
|+"Email standards project" ''Acid test'' comparison (as of January 2013)<ref>{{Cite web |date= |title=Home |url=http://www.email-standards.org/ |archive-url=https://web.archive.org/web/20130114102435/http://www.email-standards.org/ |archive-date=2013-01-14 |access-date=2024-12-22 |website=Email Standards Project}}</ref>
|-
!Clients !! Result (as of)
|-
|[[Aol webmail|AOL Webmail]]
|{{yes|Solid support (13 July 2011)}}
|-
|[[Apple Inc.|Apple]] [[iPhone]]
|rowspan=3 {{yes|Solid support (13 July 2011)}}
|-
|Apple [[iPad]]
|-
|Apple [[iPod Touch]]
|-
|[[Apple Mail]]
|{{yes|Solid support (28 November 2007)}}
|-
|[[Apple MobileMe]]
|{{yes|Solid support (15 August 2008)}}
|-
|[[Eudora (email client)|Eudora]]<br/>[[Eudora OSE]] codenamed "Penelope"
|{{yes|Solid support (28 November 2007)}}
|-
|[[Microsoft Entourage]]
|{{yes|Solid support (28 November 2007)}}
|-
|[[Mozilla Thunderbird]]
|{{yes|Solid support (28 November 2007)}}
|-
|[[Windows Live Mail]]
|{{yes|Solid support (28 November 2007)}}
|-
|[[Windows Mail]]
|{{yes|Solid support (28 November 2007)}}
|-
|[[Yahoo! Mail]] Beta
|{{yes|Solid support (8 July 2011)}}
|-
|[[Windows Live Hotmail]]
|{{partial|Some improvement recommended (8 July 2011)}}
|-
|[[Google Gmail]]
|{{partial|Improvement recommended (13 July 2011)}}
|-
|[[Lotus Notes]] 8
|{{partial|Improvement recommended (28 November 2007)}}
|-
|[[Microsoft Outlook]] 2007
|{{partial|Improvement recommended (28 November 2007)}}
|}
 
== Style ==
 
Some senders may excessively rely upon large, colorful, or distracting fonts making all but the shortest messages more difficult to read.
Some senders may excessively rely upon large, colorful, or distracting [[font]]s, making messages more difficult to read.<ref>{{cite web |last=Shobe |first=Matt |url=http://www.burningdoor.com/matt/archives/000782.html |title=A pretty fair argument against HTML Email |publisher=Burningdoor.com |date=2004-10-12 |accessdate=2012-06-24 |url-status=dead |archiveurl=https://web.archive.org/web/20120424084806/http://www.burningdoor.com/matt/archives/000782.html |archivedate=24 April 2012 }}</ref> For those especially bothered by this formatting, some [[user agent]]s make it possible for the reader to partially override the formatting (for instance, [[Mozilla Thunderbird]] allows specifying a minimum font size); however, these capabilities are not globally available. Further, the difference in optical appearance between the sender and the reader can help to differentiate the author of each section, improving readability.
 
== Multi-part formats ==
Many email clients are configured to send a plain text version of a message along with the HTML version, to ensure that it can be read even by text-only clients, using the <code>[[MIME#Content-Type|Content-Type]]: [[MIME#Alternative|multipart/alternative]]</code>, as specified in RFC 1521.<ref>[http://www.freesoft.org/CIE/RFC/1521/18.htm RFC 1521 7.2.3. The Multipart/alternative subtype]</ref><ref>[http://www.codestone.ltd.uk/software/docs/csmail/tn1010-11-2.pdf TN1010-11-2: Multipart/Alternative — Gracefully handling HTML-phobic email clients.]</ref><ref>[http://www.wilsonweb.com/wmt5/html-email-multi.htm Sending HTML and Plain Text E-Mail Simultaneously]</ref> The message itself is of type multipart/alternative, and contains two parts, the first of type text/plain, which is read by text-only clients, and the second with text/html, which is read by HTML-capable clients.
 
Many email servers are configured to automatically generate a plain text version of a message and send it along with the HTML version, to ensure that it can be read even by text-only [[email client]]s, using the <code>[[MIME content type|Content-Type]]: [[MIME#alternative|multipart/alternative]]</code>, as specified in [https://tools.ietf.org/html/rfc1521 RFC 1521].<ref>[http://tools.ietf.org/html/rfc1521#section-7.2.3 RFC 1521 7.2.3. The Multipart/alternative subtype]</ref><ref>{{cite web|url=http://www.codestone.ltd.uk/software/docs/csmail/tn1010-11-2.pdf |title=TN1010-11-2: Multipart/Alternative – Gracefully handling HTML-phobic email clients. |accessdate=2012-06-24}}</ref><ref>{{cite web|url=http://www.wilsonweb.com/wmt5/html-email-multi.htm |title=Sending HTML and Plain Text E-Mail Simultaneously |publisher=Wilsonweb.com |date=2000-04-28 |accessdate=2012-06-24}}</ref> The message itself is of type <code>multipart/alternative</code>, and contains two parts, the first of type <code>text/plain</code>, which is read by text-only clients, and the second with <code>text/html</code>, which is read by HTML-capable clients. The plain text version may be missing important formatting information, however. (For example, a mathematical equation may lose a superscript and take on an entirely new meaning.)
A few recipients have [[e-mail client]]s that cannot display HTML. This may be mitigated by the inclusion of an automatically generated plain text version, but this may be missing important formatting information (e.g. an equation may lose a superscript and take on an entirely new meaning).
 
Many{{Citation needed|date=September 2009}} [[Electronic mailing list|mailing list]]s deliberately block HTML e-mailemail, either stripping out the HTML part to just leave the plain text part or rejecting the entire message.{{Citation needed|date=September 2009}}
 
The order of the parts is significant. RFC1341 states that: ''In general, user agents that compose multipart/alternative entities should place the body parts in increasing order of preference, that is, with the preferred format last.''<ref>{{cite web|url=http://www.w3.org/Protocols/rfc1341/7_2_Multipart.html|title=RFC1341 Section 7.2 The Multipart Content-Type|accessdate=2014-07-15}}</ref> For multipart emails with html and plain-text versions, that means listing the plain-text version first and the html version after it, otherwise the client may default to showing the plain-text version even though an html version is available.
 
== Message size ==
HTML e-mail is larger than plain text. Even if no special formatting is used, there will be the overhead from the tags used in a minimal HTML document, and if formatting is heavily used it may be much higher. Multi-part messages, with duplicate copies of the same content in different formats, increase the size even further.
 
HTML email is larger than plain text. Even if no special formatting is used, there will be the overhead from the tags used in a minimal HTML document, and if formatting is heavily used it may be much higher. Multi-part messages, with duplicate copies of the same content in different formats, increase the size even further. The plain text section of a multi-part message can be retrieved by itself, though, using [[IMAP]]'s FETCH command.<ref>{{cite web|url=http://dsv.su.se/jpalme/ietf/mhtml-discussion.html |title=Do we really want to send web pages in e-mail? |publisher=Dsv.su.se |accessdate=2012-06-24}}</ref>
Download speed was more of a concern in the 1990s, though, when most users were accessing email servers through slow [[modem]]s. On a modern connection, the difference in download time between plain text and mixed message mail, which can be a factor of three or more, is negligible, especially when compared to images, music files, or other common attachments.<ref>[http://momentum.insertdisc.com/archives/2004/09/17/html_email_still_evil_part_1.html HTML Email — Still Evil?]</ref>
 
Although the difference in download time between plain text and mixed message mail (which can be a factor of ten or more) was of concern in the 1990s (when most users were accessing email servers through slow [[modem]]s), on a modern connection the difference is negligible for most people, especially when compared to images, music files, or other common attachments.<ref>[http://www.georgedillon.com/web/html_email_is_evil_still.shtml HTML Email – Still Evil?]</ref>
Additionally, the plain text section of a multi-part message can be retrieved by itself, using [[IMAP]]'s FETCH command.<ref>[http://dsv.su.se/jpalme/ietf/mhtml-discussion.html Do we really want to send web pages in e-mail?]</ref>
 
== Security vulnerabilities ==
HTML allows for a link to havebe ahidden, differentbut targetshown thanas theany link'sarbitrary text, such as a user-friendly target name. This can be used in [[phishing]] attacks, in which users are fooled into believing thataccessing a linkcounterfeit pointsweb to the website of an authoritative source (such as a bank), visiting it,site and unintentionally revealing personal details (like bank account numbers) to a scammer.
 
If an email contains inline content from an external server, such as ana [[Digital image|imagepicture]], the server can alert a third party that the e-mail has been opened. This is a potential privacy risk, revealing that an email address is real (so that it can be targeted in the future) and revealing when the message was read. For this reason, some e-mail clients do not load external images until requested to by the user.
retrieving it requires a request to that external server which identifies where the picture will be displayed and other information about the recipient. [[Web bug]]s are specially created images (usually unique for each individual email) intended to track that email and let the creator know that the email has been opened. Among other things, that reveals that an email address is real, and can be targeted in the future.
 
Some phishing attacks rely on particular features of HTML:<ref name=Trend>{{cite web|title=Trend-spotting email techniques: How modern phishing emails hide in plain sight |date=August 18, 2021 |url=https://www.microsoft.com/en-us/security/blog/2021/08/18/trend-spotting-email-techniques-how-modern-phishing-emails-hide-in-plain-sight/ |publisher=Microsoft.com}}</ref>
The multipart type is intended to show the same content in different ways, but this is sometimes abused; some [[e-mail spam]] takes advantage of the format to trick [[spam filter]]s into believing that the message is legitimate. They do this by including innocuous content in the text part of the message and putting the spam in the HTML part (which is what displays to the user).
* Brand impersonation with procedurally-generated graphics (such graphics can look like a trademarked image but evade security scanning because there is no file)
* Text containing invisible [[Unicode]] characters or with a zero-height font to confuse security scanning
* Victim-specific URI, where a malicious link encodes special information which allows a counterfeit site to be personalized (appearing as the victim's account) so as to be more convincing.
 
Displaying HTML content frequently involves the client program calling on special routines to parse and render the HTML-coded text; deliberately mis-coded content can then exploit mistakes in those routines to create security violations.{{cn|date=June 2024}} Requests for special fonts, etc, can also impact system resources.{{cn|date=June 2024}}
Most e-mail spam is sent in HTML for these reasons, so spam filters (such as [[Spamassassin]]) give higher spam scores to HTML messages.
 
During periods of increased network threats, the US Department of Defense has converted user's incoming HTML email to text email.<ref>{{cite web|publisher=nextgov.com|url=https://www.nextgov.com/cybersecurity/2006/12/dod-bars-use-of-html-e-mail-outlook-web-access/213308/|date=December 22, 2006 |title=DOD bars use of HTML e-mail, Outlook Web Access|accessdate=2024-06-22}}</ref>
== References==
 
<references/>
The multipart type is intended to show the same content in different ways, but this is sometimes abused; some [[email spam]] takes advantage of the format to trick [[spam filter]]s into believing that the message is legitimate. They do this by including innocuous content in the text part of the message and putting the spam in the HTML part (that which is displayed to the user).
 
Most email spam is sent in HTML{{Citation needed|date=December 2013}} for these reasons, so spam filters sometimes give higher spam scores to HTML messages.{{Citation needed|date=December 2013}}
 
In 2018 a vulnerability ([[EFAIL]]) of the HTML processing of many common email clients was disclosed, in which decrypted text of [[Pretty Good Privacy|PGP]] or [[S/MIME]] encrypted email parts can be caused to be sent as an attribute to an external image address, if the external image is requested. This vulnerability was present in Thunderbird, macOS Mail, Outlook, and later, Gmail and Apple Mail.<ref name="ars">{{cite web|url=https://arstechnica.com/information-technology/2018/05/decade-old-efail-attack-can-decrypt-previously-obtained-encrypted-e-mails/|title=Decade-old Efail flaws can leak plaintext of PGP- and S/MIME-encrypted emails|website=arstechnica.com|date=14 May 2018 }}</ref>
 
== See also ==
* [[Enriched text]] – an HTML-like system for email using MIME
* [[Email production]]
 
== References ==
{{Reflist}}
 
== External links ==
* https://www.caniemail.com/
* [http://mailformat.dan.info/body/html.html Dan's Mail Format Site]
 
* [http://www.expita.com/nomime.html Configuring Mail Clients to Send Plain ASCII Text] — Argues that HTML (and MIME in general) should never be used in mail
[[Category:Email]]
* [http://home.earthlink.net/~bobbau/email/avoiding-html/ Configuring Your E-mail Software to Avoid Sending HTML-formatted Messages]
[[Category:Internet terminology]]
* [http://birdhouse.org/etc/evilmail.html Why HTML in E-Mail is a Bad Idea] (written in the late 90s)
[[Category:HTML]]
** [http://birdhouse.org/etc/html_mail_counter.html Rebuttal]
** [http://birdhouse.org/blog/2006/01/15/html-email-the-poll/ HTML Email: The Poll] — January 2006 poll and comments on whether the original document is still relevant
* [http://momentum.insertdisc.com/archives/2004/09/17/html_email_still_evil_part_1.html HTML Email — Still Evil?] (2004)
* [http://www.georgedillon.com/web/html_email_is_evil_still.shtml HTML e-mail is STILL evil!!!]
* [http://www.evolt.org/article/HTML_Email_Isn_t_Rich/25/53732/ HTML Email Isn't Rich] (2003)
* [http://dsv.su.se/jpalme/ietf/mhtml-discussion.html Do we really want to send web pages in e-mail?]