Manyemail clients now offer some support forUnicode. Some clients will automatically choose between a legacy encoding and Unicode depending on the mail's content, either automatically[1] or when the user requests it.[2]
Technical requirements for sending messages containing non-ASCII characters by email include:
If the sender's or recipient's email address contains non-ASCII characters, sending a message also requires encoding these characters in a format that can be understood by mail servers.
RFC 6531 provides a mechanism for allowing non-ASCII email addresses encoded asUTF-8 in theSMTP[3] andLMTP 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 aMIME "Encoded-Word" with a Unicode encoding as the charset. To use Unicode in the domain part of email addresses,IDNA encoding must traditionally be used. Alternatively, SMTPUTF8[3] allows the use of UTF-8 encoding in email addresses (both in a local part and in domain name) 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 fromUS-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, an obsolete encoding, had an advantage on obsolete non–8-bit clean networks over Unicode encodings in that it does not require a transfer encoding to fit within the 7-bit limits of legacy Internet mail servers. On the other hand,UTF-16 must be transfer encoded to fit the data format of SMTP. Although not strictly required,UTF-8 is usually also transfer encoded to avoid problems across 7-bit mail servers. MIME transfer encoding of UTF-8 makes it either unreadable as plain text (in the case ofbase64) or, for some languages and types of text, heavily size-inefficient (in the case ofquoted-printable).
Some document formats, such asHTML,PostScript andRich Text Format, have their own 7-bit encoding schemes for non-ASCII characters and can thus be sent without using any special email encodings.HTML email can useHTML entities to use characters from anywhere in Unicode even if the HTML source text for the email is in a legacy encoding (e.g. 7-bit ASCII).