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 .

Zobacz też

Linki zewnętrzne