Unicode i e-mail - Unicode and email

Wiele klientów poczty e-mail oferuje teraz wsparcie dla Unicode . Niektórzy klienci automatycznie wybierają między starszym kodowaniem a Unicode w zależności od zawartości poczty, automatycznie lub na żądanie użytkownika.

Wymagania techniczne dotyczące wysyłania wiadomości zawierających znaki spoza ASCII pocztą elektroniczną obejmują

  • kodowanie niektórych pól nagłówka (tematu, nazwy nadawcy i odbiorcy, organizacji nadawcy i nazwy zwrotnej) oraz opcjonalnie treści w kodowaniu content-transfer
  • kodowanie znaków spoza ASCII w jednej z transformacji Unicode
  • negocjowanie użycia kodowania UTF-8 w adresach e-mail i kodach odpowiedzi ( SMTPUTF8 )
  • przesyłanie informacji o kodowaniu content-transfer 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 ASCII, wysłanie wiadomości wymaga również zakodowania ich do formatu zrozumiałego dla serwerów pocztowych.

Obsługa Unicode w protokołach

  • RFC  6531 zapewnia mechanizm zezwalający 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żywać Unicode w niektórych polach nagłówka wiadomości e-mail, np. w tematach, 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 domenowej części adresów e-mail, tradycyjnie należy używać kodowania 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, aby zmodernizować obsługę danych innych niż ASCII do protokołu poczty e-mail, który pierwotnie był tylko ASCII:

  • RFC  2047 zapewnia obsługę kodowania wartości spoza ASCII, takich jak prawdziwe nazwiska i wiersze tematu w nagłówku wiadomości e-mail
  • RFC  5890 zapewnia obsługę kodowania nazw domen innych niż ASCII w systemie nazw domen
  • RFC  6532 pozwala na użycie UTF-8 w sekcji nagłówka poczty

Obsługa Unicode w treści wiadomości

Podobnie jak w przypadku wszystkich kodowań z wyjątkiem US-ASCII , podczas używania tekstu Unicode w wiadomości e-mail, MIME musi być używany do określenia, że ​​format transformacji Unicode jest używany dla tekstu.

UTF-7 , przestarzałe kodowanie, miało przewagę nad kodowaniem Unicode w przestarzałych sieciach o czystości 8-bitowej, ponieważ nie wymagało kodowania transferu, aby zmieścić się w siedmiobitowych ograniczeniach starszych serwerów poczty internetowej. Z drugiej strony, UTF-16 musi być zakodowany, aby pasował do formatu danych SMTP. Chociaż nie jest to ściśle wymagane, kodowanie UTF-8 jest zwykle również kodowane transferowo, aby uniknąć problemów na siedmiobitowych serwerach pocztowych. Kodowanie transferu MIME w UTF-8 czyni go nieczytelnym jako zwykły tekst (w przypadku base64 ) lub, w przypadku niektórych języków i typów tekstu, bardzo nieefektywnym rozmiarem (w przypadku cytowanego-drukowalnego ).

Niektóre formaty dokumentów, takie jak HTML , PostScript i Rich Text Format, mają własne 7-bitowe schematy kodowania 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 używać encji HTML do używania znaków z dowolnego miejsca w Unicode, nawet jeśli tekst źródłowy HTML wiadomości e-mail jest w starszym kodowaniu (np. 7-bitowy ASCII). Aby uzyskać szczegółowe informacje, zobacz Unicode i HTML .

Zobacz też

Bibliografia

Linki zewnętrzne