Dalej Wyżej Poprzednio Spis treści indeks
Dalej: MIME Wyżej: Poczta elektroniczna Poprzednio: Poczta elektroniczna

Poczta SMTP

 

Najpopularniejszą usługą sieciową jest niewątpliwie poczta elektroniczna (zwana również czasami z angielska  ,, e-mail''). Pozwala ona na wymianę informacji pomiędzy pojedyńczymi osobami, a dzięki instytucji listy dyskusyjnej pomiędzy grupami osób.

Tak jak w każdej formie komunikacji i tu jej uczestnicy pragną porozumiewać się w swoim języku wykorzystując wszystkie jego możliwości. Niestety, w standardowej poczcie elektronicznej (oznaczanej czasmi jako  SMTP) jest to niemożliwe.

Jaka jest tego przyczyna?

Poczta elektroniczna powstała ona już bardzo dawno temu, co więcej w Stanach Zjednoczonych i nie uwzględniała w żaden sposób faktu istnienia znaków narodowych. (Można co prawda powiedzieć, że w tamtych czasach kodowano znaki narodowe zgodnie z normą ISO 646 która przeznaczała na ten cel znaki [, ], {, }...)

Ten standard przesyłania informacji opisuje norma RFC 822. A producenci oprogramowania zaimplementowali ją czasami tak rygorystycznie, że listy zawierające znaki "narodowe" o kodach powyżej 128 były albo odrzucane, albo zniekształcane.

Komputer PC przyniósł nowy standard i nowe zasady kodowania znaków. Okazało się jednak, że na w jednym bajcie (dzięki ośmiu bitom można zapisać 256 kombinacji) nie ma dość miejsca na uwzględnienie znaków używanych przez różne nacje. Kolejna norma (ISO 8859) składała się z dziewięciu części i definiowała dziewięć różnych alfabetów (tu wymieniam jedynie niektóre):

ISO-8859-1
zawiera znaki używane przez kraje Europy Zachodniej,
ISO-8859-2
zawiera znaki używane przez kraje Europy  Wschodniej (kraje ,,słowiańskie'' korzystające z alfabetu łacińskiego),
ISO-8859-5
cyrylica,
ISO-8859-6
znaki arabskie,
ISO-8859-7
greka,
ISO-8859-8
hebrajski.

(Żaden z nich bodaj nie rozwiązuje problemu języków dalekowschodnich.)

I w tym momencie rozpoczęły się problemy. List nadany w jednym standardzie mógł być odbierany przez użytkownika korzystającego z zupełnie innego zestawu znaków. Wymyślono standard MIME mający być lekarstwem na wszystkie bolączki. Został on stworzony przy założeniu, że:

  1. Wszystkie wiadomości przesyłane są z wykorzystaniem znaków jednego z alfabetów wymienionych przez normę.
  2. W nagłówku listu umieszczona jest informacja o użytym zestawie znaków.
  3. Informacje mogą być przesyłane w postaci binarnej (zawierającej znaki z rozszerzonego zestawu  ASCII) lub (co jest z różnych względów bardziej praktyczne) w postaci zakodowanej. Sposób kodowania został tak opracowany, żeby przesyłka była w najmniejszym stopniu narażona na zniekształcenia.
  4. Program pocztowy odbiorcy powinien przesyłkę rozkodować i wyświetlić najlepiej jak to jest możliwe w środowisku odbiorcy. Oznacza to że być może powinien on dokonać przekodowania przesyłki ze standardu ISO na standard lokalny, używany na komputerze odbiorcy. W trakcie przekodowania, może okazać się, że znaki narodowe zostaną zastąpione przez najbliższe ich odpowiedniki dostępnego alfabetu: zamiast ł na ekranie zobaczymy l; a zamiast ź i ż bedziemy zawsze widzieć z.

Niestety, ciągle nie ma zbyt wielu programów pocztowych realizujących w pełni tę ideę. Co najgorsze, oprogramowanie pracujące w środowisku MS Windows (zwłaszcza to ,,darmowe'') pisane jest głównie przez programistów amerykańskich (i nie zawsze uwzględnia potrzeby innych nacji).

A już najgorsze jest to, że standard kodowania polskich liter przyjęty w bardzo popularnym środowisku MS Windows (tak zwana strona kodowa  CP 1250) różni się (dotyczy to zaledwie kilku liter) od standardu iso-8859-2.

Trzeba jednak powiedzieć, że najnowsze produkty firmy Microsoft: MS Internet News, MS Internet Mail, Microsoft Mail, Internet Explorer znakomicie radzą sobie z tym problemem.

Używanie ,,złego'' programu pocztowego prowadzi do sytuacji w której:

  1. Nadawca poczty (mając możliwość korzystania z polskich liter) pisze po polsku.
  2. Źle skonfigurowany (lub nie dający się skonfigurować) program pocztowy wysyła taki list bez żadnego przekształacenia do postaci zgodnej ze standardem (bardzo często umieszczając w nagłówku złą informacje o sposobie kodowania).
  3. Odbiorca (korzystający z ,,przypadkowego'') programu pocztowego (lub źle skonfigurowanego, albo też nie dającego się skonfigurować) widzi na ekranie tak zwane ,,krzaczki'' albo zamiast treści czytelnej (za wyjątkiem być może pojedyńczych znaków) widzi coś takiego:
    From:          "Wojciech Myszka" <myszka>
    To:            myszka@ldhpux.immt.pwr.wroc.pl
    Date:          Sun, 18 Feb 1996 22:25:57 +0100
    MIME-Version:  1.0
    Subject:       To jest tez list zwierajacy polskie znaki
    X-mailer: Pegasus Mail v3.30
    Content-type: text/plain; charset=iso-8859-2
    Content-transfer-encoding: BASE64
    
    T2RiaW9yY2EgKGtvcnp5c3RhaqVjeSB6ICwscHJ6eXBhZGtvd2VnbycnKSBwcm9ncmFtdSBw
    b2N6dG93ZWdvIChsdWIgq2xlCnNrb25maWd1cm93YW5lZ28sIGFsYm8gdGW+IG5pZSBkYWql
    Y2VnbyBzaakgc2tvbmZpZ3Vyb3dhhikgd2lkemkgbmEKZWtyYW5pZSB0YWsgendhbmUgLCxr
    cnphY3praScnIGFsYm8gemFtaWFzdCB0cmWYY2kgY3p5dGVsbmVqICh6YSB3eWqldGtpZW0K
    YnmGIG1vvmUgcG9qZWR55GN6eWNoIHpuYWuidykgd2lkemkgY2+YIHRha2llZ286Cg==

Zniechęca to dosyć skutecznie do korzystania z polskich znaków w poczcie elektronicznej.

Zajmimy się zatem standardem MIME.


Dalej Wyżej Poprzednio Spis treści indeks
Dalej: MIME Wyżej: Poczta elektroniczna Poprzednio: Poczta elektroniczna

Wojciech Myszka
pią, 14 lis 1997 11:12:41