Unicode i e-mail
Wielu klientów pocztowych oferuje teraz wsparcie dla Unicode . Niektórzy klienci automatycznie wybierają pomiędzy starszym kodowaniem a Unicode w zależności od treści wiadomości, automatycznie lub na żądanie użytkownika.
Wymagania techniczne dotyczące wysyłania wiadomości zawierających znaki inne niż ASCII przez e-mail obejmują
- kodowanie niektórych pól nagłówka (temat, imię i nazwisko nadawcy i odbiorcy, organizacja nadawcy i nazwa odpowiedzi) oraz opcjonalnie treść w kodowaniu przesyłania treści
- kodowanie znaków innych niż ASCII w jednej z transformacji Unicode
- negocjowanie stosowania kodowania UTF-8 w adresach e-mail i kodach zwrotnych ( SMPUTF8 )
- przesłanie informacji o kodowaniu transferu treści i zastosowanej transformacji Unicode, aby wiadomość mogła zostać poprawnie wyświetlona przez odbiorcę (patrz Mojibake ).
Jeśli adres e-mail nadawcy lub odbiorcy zawiera znaki spoza zestawu ASCII, wysłanie wiadomości wymaga również ich zakodowania do formatu zrozumiałego dla serwerów pocztowych.
Obsługa Unicode w protokołach
- RFC 6531 zapewnia mechanizm zezwalania na adresy e-mail inne niż ASCII zakodowane jako UTF-8 w protokole SMTP lub LMTP
Obsługa Unicode w nagłówku wiadomości
Aby użyć Unicode w niektórych polach nagłówka wiadomości e-mail, np. wierszach tematu, nazwach nadawcy i odbiorcy, tekst Unicode musi być zakodowany przy użyciu MIME „Encoded-Word” z kodowaniem Unicode jako zestawem znaków. Aby używać Unicode w części domenowej adresów e-mail, tradycyjnie musi być używane kodowanie IDNA . Alternatywnie SMTPUTF8 pozwala na użycie kodowania UTF-8 w adresach e-mail (zarówno w części lokalnej, jak iw nazwie domeny), a także w sekcji nagłówka poczty. Stworzono różne standardy w celu dostosowania obsługi danych innych niż ASCII do pierwotnie protokołu e-mail obsługującego tylko ASCII:
- RFC 2047 zapewnia obsługę kodowania wartości innych niż ASCII, takich jak prawdziwe nazwiska i tematy w nagłówkach wiadomości e-mail
- RFC 5890 zapewnia obsługę kodowania nazw domen innych niż ASCII w systemie nazw domen
- RFC 6532 zezwala na użycie UTF-8 w sekcji nagłówka poczty
Obsługa Unicode w treści wiadomości
Podobnie jak w przypadku wszystkich kodowań innych niż US-ASCII , podczas używania tekstu Unicode w wiadomościach e-mail należy użyć MIME , aby określić, że dla tekstu używany jest format transformacji Unicode.
UTF-7 , przestarzałe kodowanie, miało przewagę nad kodowaniem Unicode w przestarzałych sieciach innych niż 8-bitowe, ponieważ nie wymaga kodowania transferu, aby zmieścić się w siedmiobitowych limitach starszych internetowych serwerów pocztowych. Z drugiej strony UTF-16 musi być zakodowany w celu dopasowania do formatu danych SMTP. Chociaż nie jest to bezwzględnie wymagane, UTF-8 jest zwykle również kodowane w celu uniknięcia problemów między siedmiobitowymi serwerami pocztowymi. Kodowanie transferu MIME UTF-8 sprawia, że jest on albo nieczytelny jako zwykły tekst (w przypadku base64 ), albo, w przypadku niektórych języków i typów tekstu, bardzo nieefektywny rozmiarowo (w przypadku cytowany do druku ).
Niektóre formaty dokumentów, takie jak HTML , PostScript i Rich Text Format, mają własne 7-bitowe schematy kodowania dla znaków innych niż ASCII, dzięki czemu można je wysyłać bez użycia specjalnego kodowania wiadomości e-mail. Np. wiadomość e-mail w formacie HTML może wykorzystywać encje HTML do używania znaków z dowolnego miejsca w Unicode, nawet jeśli źródłowy tekst HTML wiadomości e-mail ma starsze kodowanie (np. 7-bitowy ASCII). Aby uzyskać szczegółowe informacje na ten temat, zobacz Unicode i HTML .