Unicode and email


Many email clients now offer some support for Unicode. While some use Unicode by default, many others will automatically choose between a legacy encoding and Unicode depending on the mail's content, either automatically or when the user requests it.
Technical requirements for sending of messages containing non-ASCII characters by email include
If the sender's or recipient's email address contains non-ASCII characters, sending of a message requires also encoding of these to a format that can be understood by mail servers.

Unicode support in protocols

To use Unicode in certain email header fields, e.g. subject lines, sender and recipient names, the Unicode text has to be encoded using a MIME "Encoded-Word" with a Unicode encoding as the charset. To use Unicode in domain part of email addresses, IDNA encoding must traditionally be used. Alternatively, SMTPUTF8 allows the use of UTF-8 encoding in email addresses as well as in a mail header section. Various standards had been created to retrofit the handling of non-ASCII data to the originally ASCII-only email protocol:
As with all encodings apart from US-ASCII, when using Unicode text in email, MIME must be used to specify that a Unicode transformation format is being used for the text.
UTF-7, although sometimes considered deprecated, has an advantage over other Unicode encodings in that it does not require a transfer encoding to fit within the seven-bit limits of many legacy Internet mail servers. On the other hand, UTF-16 must be transfer encoded to fit SMTP data format. Although not strictly required, UTF-8 is usually also transfer encoded to avoid problems across seven-bit mail servers. MIME transfer encoding of UTF-8 makes it either unreadable as a plain text or, for some languages and types of text, heavily size inefficient.
Some document formats, such as HTML, PostScript and Rich Text Format have their own 7-bit encoding schemes for non-ASCII characters and can thus be sent without using any special email encodings. E.g. HTML email can use HTML entities to use characters from anywhere in Unicode even if the HTML source text for the email is in a legacy encoding. For details of this see Unicode and HTML.