Historically, various media were used to transfer messages, some of which only supported 7-bit data, so an 8-bit message had high chances to be
garbled during transmission in the 20th century. Some implementations ignored the formal discouraging of 8-bit data and allowed bytes with the
high bit set to pass through. Such implementations are said to be 8-bit clean. In general, a
communications protocol is said to be 8-bit clean if it correctly passes through the high bit of each byte in the communication process. Many early communications protocol standards, such as (for
SMTP), (for
NNTP) and , were designed to work over such "7-bit" communication links. They specifically require the use of ASCII "transmitted as an 8-bit byte with the high-order bit cleared to zero", and some of these explicitly restrict all data to 7-bit characters. For the first few decades of email networks (1971 to the early 1990s), most email messages were
plain text in the 7-bit US-ASCII character set. The RFC 788 definition of SMTP, like its predecessor RFC 780, limits Internet Mail to lines (1000 characters or less) of 7-bit US-ASCII characters. The header field Content-Transfer-Encoding=binary requires an 8-bit clean transport. RFC 3977 specifies that "NNTP operates over any reliable bi-directional 8-bit-wide data stream channel" and changes the character set for commands to
UTF-8. However, RFC 5536 still limits the character set to ASCII, including RFC 2047 and RFC 2231 MIME encoding of non-ASCII data. The Internet community generally adds features by
extension, allowing communication in both directions between upgraded machines and not-yet-upgraded machines, rather than declaring formerly standards-compliant legacy software to be broken and requiring that all software worldwide be upgraded to the latest standard. The recommended way to take advantage of 8-bit clean links between machines is to use the ESMTP ()
8BITMIME extension for message bodies and the SMTP
SMTPUTF8 extension for message headers. Despite this, some
mail transfer agents, notably
Exim and
qmail, relay mail to servers that do not advertise 8BITMIME without performing the conversion to 7-bit MIME (typically
quoted-printable, "Q-P conversion") required by . This "just-send-8" attitude does not, in fact, cause problems in practice because virtually all modern email servers are 8-bit clean. == See also ==