Jeśli jesteś właścicielem tej strony, możesz wyłączyć reklamę poniżej zmieniając pakiet na PRO lub VIP w panelu naszego hostingu już od 4zł!

Str. główna i mapa serwisu str. poświęcona aktualnej wersji programu

Konfiguracja programu Mozilla Thunderbird w wersji 1.0.x i klienta poczty i news pakietu Mozilla dla Windows do prawidłowej obsługi języka polskiego i dostosowanie do pracy wielojęzycznej

Opis dotyczy starej wersji programu, dla której wsparcie producenta zakończyło się. Najwyższa wypuszczona wersja tej generacji to 1.0.8. Bardzo zalecana jest aktualizacja do aktualnej wersji. Strona ma status archiwalny i nie będzie aktualizowana. Opis konfiguracji aktualnej wersji znajduje się na stronie głównej działu link prowadzi do podstrony.

Nazwa poprawnie pisana jest Thunderbird. Inny zapis, taki jak Thunder Bird, Thunder-Bird, czy ThunderBird, jest niepoprawny. Stąd „TB” jako skrót nazwy nie jest zgodny z zasadami tworzenia skrótów w polskim języku, a do tego tak pisany skrót jest od lat używany dla programu pocztowego The Bat link do str. zewnętrznej. Proponowane skróty: Tbird, Tb.

Spis treści:

  1. Wprowadzenie, czyli ogólnie o sposobie i metodach konfiguracji,
  2. Kodowanie i czcionki – czyli jak ustawić, żeby nie wysyłać ani nie oglądać krzaków:
    1. Ustawienie czcionek i charsetu – jak ustawić ISO-8859-2 i jak poprawnie widzieć, co inni piszą,
    2. Ustawienie kodowania transportowego – jak ustawić wysyłanie 8-bit, nie Quoted-Printable,
    3. Przywrócenie prawidłowego deklarowania charsetu US-ASCII,
    4. Ustawienia programu używanego w środowisku wielojęzycznym: konfiguracja automatycznego doboru charsetu – jak sprawić, żeby program sam próbował wysłać list w jednym z pasujących charsetów,
    5. Ustawienia programu używanego w środowisku wielojęzycznym: pisanie w dwóch kierunkach – dla korespondujących również po arabsku, hebrajsku...
    6. Konfiguracja automatycznego użycia najwęższego możliwego kodowania – żeby program listy po polsku wysyłał w unikodzie tylko wtedy, gdy nie może wysłać w ISO-8859-2, a w ISO-8859-2 – gdy nie może wysłać w US-ASCII
  3. Wbudowana tablica znaków – jak wstawić w list jakiś znak, którego nie ma na klawiaturze,
  4. Konfiguracja i przełączanie podpisów,
  5. Konfiguracja tekstu wprowadzającego, czyli wrotki,
  6. Dodatek: Sprawdzanie pisowni w różnych językach,
  7. Dodatek: Bugi powodujące kłopoty z ogonkami (nie tylko polskimi),
  8. Dodatek: Niedogodności programu mające wpływ na obsługę znaków narodowych w czytanych i wysyłanych listach, ale nie będące bugami,
  9. Dodatek: Wyświetlenie dowolnego pola nagłówka czytanego listu,
  10. Dodatek: Usunięcie uciążliwości w postaci domyślnego wysyłania w formacie HTML i pseudowątkowania po temacie (łączenia listów o identycznym temacie w wątek mimo tego, że ani nagłówek References, ani nagłówek In-Reply-To nie wskazują na to, by dane listy miały ze sobą związek
  11. Gdzie i kiedy nie używać polskich liter (ani innych znaków narodowych lub specjalnych)
  12. Linki.

Taki znaczek: link do str. zewnętrznej przy odsyłaczu oznacza, że odsyłacz prowadzi do strony zewnętrznej.
A taki znaczek: link prowadzi do podstrony – że odsyłacz prowadzi do innej strony w tym serwisie.

1. Wprowadzenie, porady ogólne i ostrzeżenia

Dzięki podanym zmianom, opisanym w p-cie 2.4, w ramach jednego profilu można używać dowolnych kodowań (zdefiniowanych przez użytkownika), które program dobierze automatycznie w zależności od treści, oraz dowolnych podpisów. Dzięki tym ustawieniom nie trzeba zmieniać profilu przed napisaniem wiadomości w innym języku.

W związku z dopuszczeniem unikodu (w transformacji UTF-8) jako równorzędnego z ISO-8859-2 na grupach hierarchii pl.* (patrz posty: qvdjwrm4esfu.dlg@falcon.sloth.hell.pl link do str. zewnętrznej i dlptqd$csg$1@news.pse.pl link do str. zewnętrznej, oraz wcześniejsze: wątek cmrv87$ltf$3@debi.pekin.net.pl link do str. zewnętrznej, podwątek zaczynający się od 3dT2dac3kIpn6N34%chopin@akson.sgh.waw.pl link do str. zewnętrznej i post 5kT2kao5eI1s9N34.chopin@akson.sgh.waw.pl link do str. zewnętrznej) przygotowane zostały instrukcje dostosowania programu tak, by prawidłowo wyświetlał i wysyłał maile i posty z uwzględnieniem możliwości stosowania unikodu.

Uwaga: Unikod jest w pełni legalny i dopuszczony do stosowania, ale nie należy słać w UTF-8 postów, które nie zawierają znaków spoza ISO-8859-2. Zgodnie z RFC2046 link do str. zewnętrznej p. 4.1.2 (ostatni akapit) i z opinią wyrażoną w poście qvdjwrm4esfu.dlg@falcon.sloth.hell.pl link do str. zewnętrznej

[...] należy się stosować do zasady najmniejszego
niezbędnego charsetu - pisząc czysto po angielsku należy używać US-ASCII,
pisząc po polsku (czesku, słowacku itd.) - 8859-2, pisząc w języku nie
mającym odpowiedniego ISO 8859-N (albo naraz w kilku językach używających
różnych N) należy używać UTF-8.

Poniżej opisana konfiguracja zapewnia automatyczne stosowanie tej zasady przez program dla wysyłanych maili i postów.

Wyżej wymienione posty zostały napisane przez administratorów najważniejszych serwerów news w Polsce.

Niektóre zmiany możliwe są wyłącznie drogą wpisów w pliku prefs.js. Wpisy te można wprowadzać lub zmieniać na różne sposoby:

  1. W przypadku pakietu Mozilla można wpisać w pasek adresu przeglądarki about:config, a następnie edytować istniejące lub dodawać nowe wpisy. Używa się do tego drugiego klawisza myszy. Po szczegóły patrz niżej.
  2. W Thunderbirdzie nie ma paska adresu, ale można zainstalować rozszerzenie about config link do str. zewnętrznej dające dostęp do wszelkich opcji konfiguracyjnych, jak w Mozilli. Pamiętaj, że w obu tych przypadkach należy dodawać jedynie samą treść wpisu, bez poprzedzającego user_pref(", przecinka między nazwą wpisu i wartością, cudzysłowów ani kończącego );. Przyjrzyj się już istniejącym wpisom w tym oknie i na pewno zobaczysz, co wpisywać, a czego nie. Dla ułatwienia nazwy wpisów (do wprowadzenia tą metodą) mają tło żółte, zaś wartości wpisów typu ciąg – jasnozielone (lub inne w przypadku dyskusji tekstu wprowadzającego, czyli tzw. wrotki). Zwróć też uwagę, że wpisy mogą być trzech typów: logiczne (Boolean, przybierające wartości true lub false), przybierające jako wartość liczbę naturalną (Integer) lub ciągi (String). Zmiany dokonywane tą metodą są stosowane w programie od razu.
  3. Bezpośrednia edycja pliku prefs.js. Należy zamknąć wszystkie okna programu i następnie otworzyć właściwy plik prefs.js w dowolnym edytorze tekstowym. Gdy korzysta się z większej ilości profili, należy znaleźć właściwy profil. Niektóre wpisy mogą już być w tym pliku, i należy wtedy jedynie wyedytować właściwy fragment wpisu. Innych wpisów (na przykład tych dotyczących opcji ustawionych w danym wypadku na domyślne) może w ogóle nie być – nowy wpis zmieniający daną opcję po prostu dodaje się gdzieś w tym pliku, najłatwiej na końcu. W przeciwieństwie do edycji sposobami opisanymi powyżej, należy dodawać kompletne linie, jak zamieszczone w poniższym tekście (można kopiować z tej strony i wstawiać bezpośrednio w plik). Należy pamiętać, że plik ten jest ładowany do pamięci w momencie uruchomienia programu i zapisywany na nowo po każdym zamknięciu programu, wtedy wszystkie linie są zapisywane alfabetycznie – więc nie należy się dziwić, że wpis, który został dodany na samym końcu, nagle z końca zniknął. Inną metodą jest utworzenie w katalogu profilu pliku tekstowego i zmiana jego nazwy na user.js, a następnie dodanie w nim wymaganych wpisów, jak w przypadku dodawania do prefs.js. Plik ten można edytować w dowolnym momencie (również gdy program jest uruchomiony), wpisy w nim zawarte zostaną wprowadzone do prefs.js w momencie kolejnego uruchomienia programu. Z tego wynika, że zmiany ustawień metodą edycji prefs.js lub user.js są stosowane od startu (lub restartu) programu. Należy też koniecznie pamiętać, że aby usunąć wpis dokonany tą metodą (przywrócić wartość domyślną wpisu), nie wystarczy go usunąć z user.js – należy go również usunąć z prefs.js (po zamknięciu wszystkich okien programu).

Uwaga: pliki prefs.js i user.js używają kodowania UTF-8. Należy o tym pamiętać, jeżeli wpisywane wyrażenia zawierają znaki spoza US-ASCII. Wyrażenia wprowadzane przez edytor ustawień będą od razu prawidłowo zakodowane z użyciem UTF-8 – litery z diakrytykami itp. wpisuje się normalnie z klawiatury lub wklejać z tablicy znaków. W przypadku bezpośredniej edycji plików prefs.js i user.js należy albo użyć edytora tekstowego posiadajacego opcję zapisu w kodowaniu UTF-8 (przykładowo dla Windows istnieje UniRed link prowadzi do podstrony i BabelPad link prowadzi do podstrony), albo użyć encji w postaci ciągu odwrócony ukośnik, mała litera u i czterocyfrowy kod szesnastkowy danego znaku: przykładowo litera ą będzie zapisana jako \u0105. Encje polskich liter i szeregu znaków specjalnych w tej postaci można znaleźć tu link prowadzi do podstrony (w kolumnie JavaScript). Dodatkowo znak \n oznacza nową linię (złamanie wiersza w tym miejscu). Encje i znak nowego wiersza można stosować wyłącznie podczas bezpośredniej edycji plików prefs.js i user.js.

Opis generalnie dotyczy Thunderbirda. Opcje dla Mozilli ustawia się analogicznie, ale są one dostępne w nieco innych miejscach (nie ma dla nich zrzutów ekranu, tylko opisy).

2. Kodowanie i czcionki

Nie należy wybierać autodetekcji charsetu (Widok ⇒ Kodowanie ⇒ Autodetekcja; należy zaznaczyć Wyłączone), gdyż najczęściej pociaga to za sobą więcej problemów niż korzyści, w tym psucie prawidłowo zakodowanych i zadeklarowanych znaków narodowych, gdy logika programu zawiedzie.

Thunderbird potrafi wyświetlać listy w HTML na trzy sposoby: oryginalny HTML, uproszczony HTML i czysty tekst. Dwie pierwsze opcje powodują, że w przypadku listów wieloczęściowych z częścią HTML i częścią tekstową zostanie pokazana część HTML (w przypadku wyświetlania uproszczonego HTML wiele znaczników zostanie zignorowanych), jedynie gdy list jest wyłącznie w formacie tekstowym, zostanie pokazany czysty tekst. Wybór czystego tekstu w przypadku listów wieloczęściowych z częścią HTML i częścią tekstową powoduje, że zostanie pokazana część tekstowa, a w przypadku listów w formacie tylko HTML wszystkie znaczniki HTML zostaną zignorowane. Wybór jest kwestią osobistych preferencji, wybór następuje z menu Widok ⇒ Treść jako (ang. View ⇒ Message body as). Dla bezpieczeństwa i ochrony przed spamem zaleca się blokowanie ściągania obrazków z zewnętrznych serwerów i niewłączanie obsługi JavaScriptu – obie opcje ustawia się w opcjach, domyślnie są zablokowane. Pozwolenie na ściąganie grafiki z zewnętrznego serwera, gdy nadawcę ma się w książce adresowej, jest do uznania użytkownika – spamer przypadkowo może użyć adresu znanego odbiorcy, a wtedy otwarcie takiego listu potwierdzi, że adres działa i jest czytany przez żywego człowieka. Prawdopodobieństwo takiej sytuacji na szczęście jest bardzo małe (ale niezerowe).

Ustawieniom wyświetlania grafiki z zewnętrznych serwerów i obsługi JavaScriptu odpowiadają następujace linie konfiguracyjne:

user_pref("mailnews.message_display.disable_remote_image", true);
user_pref("javascript.allow.mailnews", false);

Linią odpowiadającą za format wyświetlanych listów jest

user_pref("mailnews.display.html_as", 1);

(0 – HTML /ustawienie domyślne/, 1 – czysty tekst, 3 – uproszczony HTML; 2 – wyświetla źródło HTML, nie ma zastosowania w normalnym użytkowaniu)

2.1 Wybór domyślnego charsetu i ustawienia czcionek

Po wejściu w Narzędzia ⇒ Opcje ⇒ Fonty (po ang. Tools ⇒ Options ⇒ Fonts):


wybieramy domyślny charset dla przychodzących wiadomości nie zawierających deklaracji – strzałka numer 2 – oraz domyślny charset dla wiadomości wychodzących – strzałka numer 1. Dla pracy w środowisku języka polskiego standardowo oba charsety będą ustawione jako ISO-8859-2.

W przypadku pracy wielojęzycznej domyślny charset dla listów nie zawierających deklaracji kodowania można ustawić według własnych, indywidualnych potrzeb (niestety, nie ma możliwości ustawienia osobno dla każdego konta), zaś charset używany domyślnie dla listów wychodzących musi być charsetem normalnie stosowanym dla co najmniej jednego z języków, w których pisujesz, i nie może zawierać znaków z języka wymagającego innego kodowania. Na przykład przy ustawianiu programu tak, by można było pisać jednocześnie po polsku i niemiecku, należy wybrać tam domyślny charset ISO-8859-1 (stosowany dla języka niemieckiego i nie zawierający polskich liter), a nie ISO-8859-2 (stosowany dla języka polskiego, ale zawierający niemieckie litery – Niemcy mogą mieć trudności po odebraniu wiadomości z deklaracją ISO-8859-2), podobnie jest dla języków polskiego i litewskiego – jako domyślne należy ustawić kodowanie ISO-8859-2 (używane dla języka polskiego i nie zawierające litewskich liter), a nie ISO-8859-13 (kodowanie używane dla litewskiego, ale zawierające polskie litery, choć normalnie kodowanie to nie jest stosowane dla języka polskiego).

W oknie opcji należy również zaznaczyć, by program używał domyślnie wybranego kodowania dla wszystkich listów wychodzących (strzałka 4). Pamiętaj, by nie zaznaczać opcji, by program zawsze stosował wybrane kodowanie do wiadomości przychodzących (strzałka nr 3) – bardzo rzadko zdarza się, że jakaś wiadomość jest w ISO-8859-2, lecz ma nieprawidłową deklarację charsetu (np. ISO-8859-1), natomiast dużo częściej zdarza się, że wiadomość jest prawidłowo zakodowana i zadeklarowana w kodowaniu innym niż ISO-8859-2 (np. UTF-8 albo Windows-1250 w polskich warunkach). Zaznaczenie tego pola spowoduje psucie treści tych drugich wiadomości. Bez zaznaczenia tej opcji domyślny charset będzie stosowany tylko do wiadomości, które nie mają deklaracji charsetu (np. posty na grupy dyskusyjne wysyłane z nieskonfigurowanego OE).

Thunderbird daje możliwość wybrania domyślnego zestawu znaków w listach czytanych osobno dla każdego katalogu pocztowego i dla każdej grupy news. Przydatne jest to szczególnie dla zagranicznych grup. Po kliknięciu drugim przyciskiem myszy na nazwie grupy i wybraniu z menu kontekstowego pozycji „Właściwości”


pokaże się okienko, w którym można wybrać domyślne kodowanie dla wiadomości przychodzących na tę grupę:

Analogicznie można postąpić w przypadku katalogów poczty:

W obu wypadkach należy pamiętać, by nie zaznaczać klatki “Zastosuj domyślne kodowanie do wszystkich wiadomości” – zepsuje to ogonki (czy inne znaki) prawidłowo zakodowane, ale w kodowaniu innym niż domyślne.

W przypadku klienta mail i news Mozilli należy wejść w opcje konfiguracyjne (Edit ⇒ Preferences), ewentualnie rozwinąć grupę opcji „Mail & Newsgroups” i zaznaczyć pozycję „Composition”. Tam ustawia się charset dla pisanych wiadomości z listy rozwijanej („Character encoding”, odpowiednik strzałki 1) i domyślne stosowanie wybranego charsetu dla wszystkich pisanych listów (klatka przy Always use this default encoding in replies, odpowiednik strzałki 4). Domyślny charset dla listów przychodzących ustawia się w opcji „Composition” wybierając z listy rozwijanej odpowiedni charset, należy przy tym pamiętać, by nie zaznaczać klatki „Apply default to all messages” (odpowiednik strzałki nr 3). Uzasadnienie umieszczone jest powyżej.

Normalnie nie ma potrzeby ingerowania w ustawienia czcionek, ale gdyby okazało się, że mimo poprawnych ustawień różne znaki w listach wyświetlają się niepoprawnie, należy sprawdzić ustawienia czcionek: w powyższym oknie kliknąć na „Czcionki…” (ang. „Fonts…”) i na nowo otwartym oknie sprawdzić i ewentualnie ustawić dla każdego skryptu czcionkę unikodową zawierającą znaki języków danego regionu. Pod Windows można sobie pomóc rozszerzeniem TTF font properties extension link do str. zewnętrznej – wybierać tylko te czcionki, które zawierają w sobie odpowiednie zakresy Unicode i obsługują odpowiednie strony kodowe.

UWAGA: Nie należy pod żadnym pozorem nigdzie wybierać czcionek nieunikodowych, z czasów Windows 3.x! Czcionki takie mają w nazwie końcówkę określającą skrypt (np. CE – środkowoeuropejski, Cyr – cyrylica, Tur – turecki itd.). Takie czcionki nie będą poprawnie działać, dla każdego kodowania należy wybrać czcionkę unikodową. Co prawda można użyć czcionki nieunikodowej w kodowaniu Windows-1252 (zachodnioeuropejskim) do wyświetlania listów w kodowaniu zachodnioeuropejskim, ale nie jest to ani konieczne, ani specjalnie zasadne.

2.2 Ustawienie kodowania transportowego

Gdy treść listu zawiera znaki spoza US-ASCII (np. znaki polskie, francuskie, znak € itp.), istnieje możliwość wysyłania tych znaków albo zakodowanych z użyciem kodowania Quoted-Printable, albo w postaci 8-bitowej. Wybór należy do użytkownika, ale warto pamiętać, że kodowanie Quoted-Printable jest błędnie obsługiwane przez OE (cytowany tekst w takim wypadku nie jest poprzedzany znakami cytowania), i na grupach dyskusyjnych (przynajmniej w hierarchii pl.*) stosowanie go jest niezalecane (choć nie jest zabronione). Wyboru kodowania dokonuje się w oknie pokazanym poniżej:

Niestety, nie ma możliwości wyboru tej opcji osobno dla poszczególnych kont.

W przypadku klienta mail i news Mozilli należy wejść w opcje konfiguracyjne (Edit ⇒ Preferences), ewentualnie rozwinąć grupę opcji Mail & Newsgroups, zaznaczenie klatki obok „For messages that contain 8-bit characters use 'quoted printable' MIME encoding” oznacza stosowanie kodowania Quoted Printable dla treści, odznaczenie tej klatki powoduje, że znaki spoza US-ASCII w treści będą wysyłane w postaci 8-bitowej.

2.3 Przywrócenie możliwości wysyłania wiadomości w US-ASCII

Od wersji 0.8 (20040913) program Thunderbird nieprawidłowo deklaruje wiadomości zawierające tylko litery łacińskie jako domyślne kodowanie, np. ISO-8859-2. W przypadku niezaznaczenia używania domyślnego kodowania dla wszystkich wysyłanych listów, co powoduje domyślne stosowanie kodowania listu, na który się odpowiada, przy odpowiadaniu na wiadomość w US-ASCII deklaruje ISO-8859-1. Aby to zmienić, należy wstawić linię (lub w istniejącej zmienić wartość false na true):

user_pref("mail.label_ascii_only_mail_as_us_ascii", true);

Ta linia przywróci prawidłowe zachowanie programu pozwalające na deklarowanie kodowania US-ASCII, a nie ISO-8859-1 czy innego wybranego jako domyślne, gdy treść rzeczywiście zawiera tylko znaki z US-ASCII (zachowanie to jest zgodne z zaleceniem zawartym w normie internetowej RFC 2046 link do str. zewnętrznej p. 4.1.2). Zmianę tę powinny wprowadzić zwłaszcza te osoby, którym zdarza się pisać po polskawemu (czyli bez polskich liter), a także piszącym (również) w języku angielskim, używającym normalnie wyłącznie liter łacińskich.

W Mozilli ten problem nie występuje i dodawanie tej linii, choć nieszkodliwe, jest całkowicie zbędne.

Uwaga: Gdyby z jakichś powodów zmiana ustawień domyślnego charsetu dla wysyłanych i przychodzących wiadomości z poziomu interfejsu użytkownika okazała się niemożliwa, poniżej podaję linie w prefs.js odpowiadające za te ustawienia:

user_pref("mailnews.send_default_charset", "ISO-8859-2");
user_pref("mailnews.view_default_charset", "ISO-8859-2");
user_pref("mailnews.force_charset_override", false);
user_pref("mailnews.reply_in_default_charset", true);

Linie podane w kolejności numerów strzałek na zrzucie ekranu drugim od góry, czyli: pierwsza linia to ustawienie domyślnego charsetu dla wysyłanych wiadomości, druga – ustawienie domyślnego charsetu dla przychodzących wiadomości, trzecia – opcja, by program stosował kodowanie zadeklarowane w nagłówku czytanej wiadomości (jest to ustawienie domyślne i ta linia w tym ustawieniu normalnie nie jest obecna w prefs.js), zaś ostatnia – opcja, by program zawsze odpowiadał w wybranym kodowaniu.

Za ustawienie wysyłania treści w kodowaniu Quoted-Printable albo bez kodowania odpowiada linia:

user_pref("mail.strictly_mime", false);

(ustawienie domyślne, powoduje wysyłanie treści bez kodowania, normalnie ta linia jest obecna w prefs.js tylko po wybraniu wysyłania w kodowaniu Quoted-Printable)

Uwaga: Nie należy pomylić powyższej linii z innym wpisem, mianowicie mail.strictly_mime_headers – ten wpis, zawierający dodatkowe słowo headers i normalnie ustawiony na true, reguluje sprawę kodowania transportowego znaków 8-bitowych w nagłówkach (temat, nadawca, organizacja, różne X-nagłówki). Zmiana tej opcji na false spowoduje, że znaki te będą nieprawidłowo wysyłane jako 8-bitowe (norma internetowa RFC 2822 link do str. zewnętrznej w p. 2.2 wyraźnie zabrania stosowania znaków 8-bitowych w nagłówkach) i będą nieczytelne u innych (może z wyjątkiem użytkowników OE).

Linie te są wymieszane w pliku prefs.js z innymi liniami (bo plik jest uporządkowany alfabetycznie, więc trzeba szukać właściwych linii).

Indywidualne ustawienia domyślnego kodowania dla poszczególnych grup dyskusyjnych i katalogów poczty zapisywane są we właściwych plikach *.msf.

2.4 Ustawienia programu używanego w środowisku wielojęzycznym: konfiguracja kolejności automatycznego wyboru charsetów

Thunderbird ma możliwość konfiguracji, w jakiej kolejności ma automatycznie próbować dobrać odpowiedni charset do zawartości treści pisanej wiadomości. Mechanizm działa tak, że jeżeli w jakimś kodowaniu nie można wysłać wiadomości, to program szuka, czy dla danego kodowania zdefiniowane zostały kodowania alternatywne. Dla danego kodowania można wybrać więcej niż jedno kodowanie alternatywne, program będzie sprawdzał je po kolei. Kodowania alternatywne muszą być skonfigurowane osobno dla każdego kodowania (np. osobno dla ISO-8859-1, dla ISO-8859-2, ISO-8859-13 itd.). Ogólny format wpisu wygląda następująco:

user_pref("intl.fallbackCharsetList.[WYBRANE_KODOWANIE_WYSYLANIA]", "[ALTERNATYWNE_KODOWANIE_1], [ALTERNATYWNE_KODOWANIE_2], [...] , [ALTERNATYWNE_KODOWANIE_n]");

Jako WYBRANE_KODOWANIE_WYSYLANIA wstawiamy kodowanie wybrane jako domyślne dla listów wychodzących, np. ISO-8859-1, a jako ALTERNATYWNE_KODOWANIE_1 – kodowanie innego języka (np. ISO-8859-2). Jeżeli chcemy mieć możliwość samoczynnego wysyłania w unikodzie, bez ręcznego przestawiania charsetu ani oglądania komunikatu, że treść nie może być wysłana w wybranym kodowaniu, to jako ALTERNATYWNE_KODOWANIE_2 wstawiamy UTF-8. Cała linia w naszym przykładzie wygląda tak:

user_pref("intl.fallbackCharsetList.ISO-8859-1", "ISO-8859-2, UTF-8");

Dzięki temu (i dzięki zmianie z punktu 2.3) program zachowuje się następująco:

  1. Gdy treść zawiera tylko łacińskie litery i cyfry – list wysyłany jest z deklaracją US-ASCII,
  2. Gdy treść zawiera znaki spoza US-ASCII – program próbuje go zakodować w kodowaniu wybranym jako domyślne. Kodowanie to będzie optymalne dla niemieckiego. Gdy chcesz pisać po polsku, program nie mogąc zakodować treści w ISO-8859-1 sprawdzi po kolei inne kodowania zapisane w tej linii i w naszym przypadku użyje ISO-8859-2 bez konieczności ingerencji ze strony piszącego,
  3. Gdy ani ISO-8859-1, ani ISO-8859-2 nie będą odpowiednie, wiadomość bez pytania zostanie zakodowana w unikodzie.

Przykłady zestawień języków:

Szeroka dyskusja doboru charsetu w zależności od kombinacji języków zamieszczona została na osobnej stronie link prowadzi do podstrony.

Ponieważ Thunderbird nie udostępnia żadnej sygnalizacji, w jakim charsecie wyśle dany list (o ile kodowanie nie zostało zmienione ręcznie z menu), świadomie pominąłem UTF-8 jako ostatnią pozycję. W pewnych wypadkach wysyłanie listu kodowanego w UTF-8 może być niewłaściwe i lepiej mieć nad tym kontrolę – w przypadku ww. wpisów (z wyjątkiem zestawienia dla polskiego i kaszubskiego) program zapyta, czy ma wysłać w UTF-8. Jeżeli takie ostrzeżenie nie jest Ci potrzebne, możesz śmiało dodać na końcu odpowiedniej linii UTF-8.

2.5 Ustawienia programu używanego w środowisku wielojęzycznym: pisanie dwukierunkowe (od lewej do prawej i od prawej do lewej)

Niektóre języki pisane są od prawej do lewej, na przykład arabski i hebrajski. Dla Thunderbirda i Mozilli zostało przygotowane rozszerzenie BiDi UI link do str. zewnętrznej znacznie ułatwiające pisanie w dwóch kierunkach i czytanie wiadomości pisanych w różnych kierunkach, a zwłaszcza dwukierunkowo na raz.

Uwaga: w przypadku wiadomości zawierających tekst mieszany (pisany częściowo od lewej do prawej, a częściowo od prawej do lewej) może być konieczne użycie formatu HTML, by odpowiednie fragmenty tekstu były pokazane we właściwym kierunku u odbiorcy korzystającego z mniej inteligentnego programu. Gdy na co dzień używamy edytora zwykłego tekstu, edytor HTML możemy uruchomić klikając na Write lub Reply z wciśniętym klawiszem Shift. Wspomniane rozszerzenie działa tylko w oknie kompozycji HTML i pozwala na zmianę kierunku dla wybranego akapitu (wstawiając znacznik HTML „dir="rtl"”, gdy akapit ma być pisany od prawej do lewej, lub „dir="ltr"”, gdy akapit ma być pisany od lewej do prawej). Rozszerzenie działa w połączeniu z wewnętrzną logiką Thunderbirda używającą informacji o zakresie Unicode, z którego pochodzą dane znaki, do ustalania kierunku wyświetlenia danego tekstu.

W przypadku korespondencji z osobami, którzy do czytania używają programów nie posiadających logiki doboru kierunku wyświetlania tekstu w zależności od użytych znaków, ale obsługujących atrybut HTML „dir” (mówiący programowi, w którym kierunku ma być wyświetlany tekst), doraźnie można sobie radzić bez instalowania BiDi UI pisząc w edytorze HTML i wstawiając właściwą deklarację kierunku: z menu Format wybiera się Kolory i tło strony...

i w nowo otwartym oknie (na zrzucie ekranu poniżej okno po lewej stronie) klika się na Edycja zaawansowana:

Jak widać w oknie po prawej stronie można wybrać atrybut „dir” i nadać mu wartość „rtl”. W ten sposób można jedynie wybrać kierunek wyświetlania całości treści.

Należy pamiętać, że wszystkie znaczniki HTML, w tym i ten dotyczący kierunkowości, zostają bezpowrotnie stracone, gdy w momencie wysyłki wiadomość zostaje przekonwertowana do formatu plain-text. W Narzędzia ⇒ Opcje ⇒ Komponowanie ⇒ Opcje wysyłania należy ustawić, by w przypadku wysyłania maila w formacie HTML program pytał, co zrobić, a nie konwertował samoczynnie do formatu zwykłego tekstu.

Rozszerzenie to dodaje również opcję pozwalającą na przełączanie widoku wiadomości czytanej (a właściwie ustawienie wyrównania tekstu do prawej strony) – Widok ⇒ Przełącz kierunek wiadomości (ang. View ⇒ Switch message direction) oraz w menu kontekstowym treści wiadomości, a także przez skrót klawiaturowy Ctrl+Shift+X. Wygląda, że opcja ta działa wyłącznie z wiadomościami pisanymi w HTML i wyświetlanymi jako HTML.

Więcej informacji link do str. zewnętrznej, tekst tylko po hebrajsku, ale obrazki chyba pozwolą się dość dobrze zorientować w temacie.

Uwaga: Autor niniejszego poradnika nie jest w stanie udzielić żadnych dodatkowych informacji na temat wymienności listów pisanych od prawej do lewej między różnymi programami z uwagi na całkowitą nieznajomość żadnego z języków pisanych od prawej do lewej.

2.6 Wykorzystanie mechanizmu automatycznego wyboru charsetów do prawidłowej obsługi unikodu jako jednego z dopuszczonych kodowań

Mechanizm ten można również będzie wykorzystać, gdy na polskich grupach dyskusyjnych hierarchii pl.* zostanie oficjalnie dopuszczony unikod. Zapowiadane jest, że nastąpi to w niedalekiej, choć jeszcze niesprecyzowanej przyszłości. Z kodowaniami obowiązuje zasada, by używać najmniejszego kodowania wystarczającego dla danej treści. Czyli na przykład jeżeli treść zawiera tylko litery łacińskie i cyfry (bo ktoś pisze po polskawemu), to należy zadeklarować kodowanie US-ASCII. Jeżeli treść wiadomości w języku polskim może być zakodowana w ISO-8859-2 (nie zawiera znaków spoza ISO-8859-2), to powinna być wysłana właśnie w ISO-8859-2, nie w UTF-8. Zalecane ustawienia dla języka polskiego zapewniające zgodność z tą zasadą to opisane w p-cie 2.1 ustawienie kodowania domyślnego dla wiadomości wychodzących na ISO-8859-2 i zaznaczenie, by program używał tego kodowania domyślnie dla wszystkich wysyłanych wiadomości (strzałki 1 i 4), a następnie wpisanie następujących linii w prefs.js:

user_pref("intl.fallbackCharsetList.ISO-8859-2", "UTF-8");
user_pref("intl.fallbackCharsetList.ISO-8859-1", "ISO-8859-2, UTF-8");

(oczywiście w dalszym ciągu należy wpisać też linijkę przywracającą możliwość wysyłania w US-ASCII – patrz p. 2.3)

Te ustawienia spowodują następujące zachowanie programu:

  1. Gdy treść zawiera tylko łacińskie litery i cyfry – list wysyłany jest z deklaracją US-ASCII,
  2. Gdy treść zawiera znaki spoza US-ASCII – program próbuje go zakodować w kodowaniu ISO-8859-2. Jeżeli treść da się zakodować w tym kodowaniu, zostanie ono użyte w danej wiadomości. Nastąpi to również wtedy, gdy będziemy odpowiadać na wiadomość kodowaną UTF-8, ale w treści nie będzie znaków spoza ISO-8859-2 (bo np. zostały usunięte wraz ze zbędnym fragmentem cytatu lub wiadomość była zbędnie kodowana w UTF-8, choć ISO-8859-2 wystarczyłoby),
  3. Gdy treść będzie zawierała znaki, których nie da się zakodować w ISO-8859-2, program bez pytania wyśle wiadomość w unikodzie.

Geneza drugiej linijki (tej z substytutami dla kodowania ISO-8859-1) jest następująca: kiedyś zdarzyło mi się otworzyć wiadomość, która prawdopodobnie nie była do końca technicznie poprawna. Przy odpowiadaniu na nią Thunderbird uznał, że musi zastosować kodowanie ISO-8859-1. Oczywiście przy próbie wysłania odpowiedzi dostałem znajomy komunikat o niemożności wysłania wiadomości w wybranym kodowaniu. Ta linijka sprawia, że więcej takich problemów miał nie będę. Oczywiście nie musisz jej dodawać, ale wydaje mi się, że linijka ta nie ma żadnych niepożądanych skutków ubocznych.

3. Wbudowana tablica znaków

W oknie kompozycji w trybie HTML dostępna jest tablica znaków, bardzo przydatna przy wstawianiu pojedynczych znaków, których nie mamy na klawiaturze. Dostępna ona jest przez menu Wstaw ⇒ Znaki i Symbole...

Pokaże się wówczas małe okno, w którym można wybrać jedną z kategorii, kolejno od góry: wielkie litery ze znakami diakrytycznymi, małe litery ze znakami diakrytycznymi, wielkie litery inne (np. Æ), małe litery inne i często używane znaki specjalne (ułamki, znaki copyrightu itp.):

4. Podpis

Podpis brany jest z pliku zewnętrznego. Wskutek dyskusyjnych założeń program przyjmuje, że znaki spoza ASCII w tym pliku są kodowane 8-bitowo w stronie kodowej używanej w systemie. Czyli na przykład w polskim Windowsie będzie to kodowanie Windows-1250, a w polskim Linuksie – ISO-8859-2, zaś w rosyjskim Windowsie będzie to kodowanie Windows-1251, a w rosyjskim Linuksie – ISO-8859-5, analogicznie w angielskim Windowsie będzie to kodowanie Windows-1252, a w angielskim Linuksie – ISO-8859-1 itp. Przez to nie można użyć w podpisie znaków spoza danego kodowania systemowego (np. znaków polskich w Thunderbirdzie pracującym na systemie angielskim itp.). Zdecydowanie lepiej byłoby, gdyby umożliwić używanie dowolnych znaków kodowanych w UTF-8, w pliku dodać znacznik BOM, i do tego dodać ewentualnie prosty edytor plików z podpisami, ale twórcy programu nie przewidują takiej możliwości. Obejście tego ograniczenia jest możliwe przez instalację rozszerzenia Signature switch link do str. zewnętrznej (patrz niżej).

Łatwa zmiana podpisu w pisanym liście jest możliwa dzięki rozszerzeniu Signature switch. W wersjach wcześniejszych od 1.1 miało ono tę wadę, że nie wstawiało prawidłowo znaków spoza US-ASCII (prawdopodobnie domyślnie traktując plik z podpisem jako kodowany Windows-1252). W wersji 1.1 jest możliwe zdefiniowanie w opcjach rozszerzenia (na zakładce „Zaawansowane”, ang. „Advanced”) charsetu używanego w plikach z podpisami – w przypadku pracy w środowisku wielojęzycznym można przygotować pliki z podpisami kodowane UTF-8 lub ewentualnie w jakiejś 8-bitowej stronie kodowej (np. Windows-1250). Nazwa charsetu nie jest wybierana z menu rozwijanego, tylko wpisywana ręcznie. Należy użyć powszechnie przyjętych nazw, np. Windows-1250, ISO-8859-2 lub UTF-8.

Podpisy można zmieniać i bez żadnego rozszerzenia, ale proces jest nieco skomplikowany i zmiana siga możliwa jest tylko przed otwarciem okna kompozycji. Sposób ten był przeze mnie używany jeszcze w czasach Netscape Communicatora pod Windows, prawdopodobnie od roku 1998 (oba programy obsługują w ten sam sposób podpisy). Wadą tego rozwiązania jest ograniczenie zestawu znaków do bieżącej strony kodowej systemu, jak opisano powyżej. Sposób podaję jako ciekawostkę:
Podpis musi być brany z pliku tekstowego. W opcjach definiuje się, z jakiego pliku ma być brany podpis. Można przygotować kilka plików z różnymi podpisami (np. w różnych językach), a prosty plik wsadowy DOS załatwi sprawę podstawiania pliku z wybranym podpisem za ten plik ustawiony w opcjach. Robi się to tak:

5. Wrotka

Czyli tekst wprowadzający – w ramach jednego profilu można mieć tylko jedną wrotkę i z uwagi na to, że zapisana ona jest w pliku prefs.js, nie ma praktycznej możliwości zmieniania jej przed napisaniem wiadomości. Pozostaje Ci przygotować wrotkę uniwersalną, zrozumiałą we wszystkich językach, w których pisujesz.

Program pozwala na dość dowolną konfigurację wrotki. Tekst składa się z czterech części i standardowo w wersji angielskiej wygląda tak:
On [data], [autor] wrote:
(oczywiście kolorowe tło dodałem tylko tutaj, dla lepszej ilustracji tego, który wpis odpowiada za którą część wrotki). Kolejne części nazywają się:
On [data] – ondate
, – separator
[autor] wrote – authorwrote
: – colon (czyli dwukropek)
Sama wrotka może przyjąć jedną z czterech możliwości wyglądu, możliwości te są ponumerowane. I tak:
0 – brak wrotki (sprzeczne z netykietą i bardzo niezalecane, bo mylące),
1 – wrotka [autor] wrote: (domyślna)
2 – wrotka w stylu On [data], [autor] wrote:, i
3 – wrotka w stylu [autor] wrote, On [data]: (odwrócona kolejność w porównaniu z wersją nr 2)
Teraz jedną z metod opisanych na początku należy po prostu dodać kilka linii definiujących wrotkę. Poniżej podane są wpisy domyślne (w wersji angielskiej) odpowiedzialne za wyświetlenie podanej powyżej standardowej wrotki:
user_pref("mailnews.reply_header_type", 1);
user_pref("mailnews.reply_header_ondate", "On %s");
user_pref("mailnews.reply_header_separator", ", ");
user_pref("mailnews.reply_header_authorwrote", "%s wrote");
user_pref("mailnews.reply_header_colon", ":");
Pierwsza linia ustala postać wrotki, zaś pozostałe – wygląd kolejnych części wrotki (dla ułatwienia kolory tła odpowiednich części wrotki są te same, co w przykładowej wrotce). Jak widać, zmienna %s jest odpowiedzialna za wstawienie w danym miejscu danej z listu, na który odpowiadamy (odpowiednio zawartość linii From: i Date:). Polskie litery (i inne znaki spoza US-ASCII) wstawiane w pliki .js muszą być zakodowane w UTF-8 lub (tylko w przypadku bezpośredniej edycji plików .js) używać tzw. encji JS. Patrz uwaga o kodowaniu w plikach js we wstępie.

Uwaga: W Thunderbirdzie w oknie about:config widoczna też jest linia mailnews.reply_header_originalmessage (odpowiadająca za treść wrotki używanej przy forwardowaniu w trybie inline) – ale edycja tego wpisu nie ma wpływu na rzeczywistą treść tekstu, który znajdzie się w liście.

6. Dodatek: Sprawdzanie pisowni w różnych językach

Thunderbird i Mozilla korzystają z plików słownikowych w formacie Myspell, używanych również w Open Office link do str. zewnętrznej. Można stamtąd ściągnąć pliki słowników link do str. zewnętrznej pozwalające na sprawdzanie ortografii w licznych językach. Pliki słownika (zawsze są po dwa na język) po ściągnięciu należy rozpakować do podkatalogu components/myspell znajdującego się w katalogu, w którym zainstalowany jest Thunderbird. Inną drogą pozyskania słowników jest skorzystanie ze strony z plikami słowników spakowanymi w formacie xpi link do str. zewnętrznej, które można automatycznie zainstalować np. przez okno instalacji rozszerzeń (ta strona otworzy się również automatycznie po wybraniu w oknie sprawdzania pisowni z listy rozwijalnej języków pozycji „Download More”). Gdy w nazwach plików słowników zastąpimy podkreślnik przez minus lub usuniemy minus i dwie litery identyfikujące kraj lub region (w zależności od języka), w oknie wyboru języka używanego do sprawdzania pisowni będzie pokazywać się nazwa języka (i ewentualnie kraju jego odmiany), a nie nazwa pliku. Pewnym utrudnieniem może być to, że przełączenie języka możliwe jest wyłącznie po uruchomieniu modułu sprawdzania pisowni i znalezieniu przez niego pierwszego błędu, albo modyfikując w about:config wpis spellchecker.dictionary, wstawiając jako wartość nazwę pliku bez rozszerzenia – dokładnie taką, jaką mają te pliki na danym komputerze, np. u mnie dla brytyjskiego angielskiego będzie to en-GB, dla polskiego: pl itd. Wielkość liter ma znaczenie! Po zmianie języka w oknie należy zwykle kliknąć na „Sprawdź ponownie”:

Należy pamiętać, że moduł sprawdzania pisowni używany w Thunderbirdzie i Mozilli nie ma funkcji proponowania słów bliskoznacznych ani dzielenia na sylaby.

banner strony „Bykom stop!”
autor niniejszej strony popiera akcję „Bykom stop!” propagującą poprawne pisanie po polsku: z polskimi literami i bez błędów link do str. zewnętrznej

7. Dodatek: Bugi powodujące kłopoty z ogonkami (nie tylko polskimi)

1. Stosowanie przy odpowiedziach charsetu deklarowanego dla body w stosunku do tematu
Opis buga: Przy odpowiadaniu na list, który używa (prawidłowo) innego kodowania dla treści, a innego dla tematu, i dodatkowo kodowanie tematu jest kodowaniem 8-bitowym (np. ISO-8859-2), Thunderbird zepsuje znaki diakrytyczne i specjalne w temacie stosując do tematu kodowanie zadeklarowane dla treści. Gdy treść kodowana jest w US-ASCII, a w temacie występują znaki spoza US-ASCII, Thunderbird pokaże temat tak, jakby był on kodowany ISO-8859-1. Temat zakodowany w UTF-8 jest traktowany poprawnie. Bug ten pojawił się w wersji 0.9 i jest obecny również w wersjach 1.0.x Thunderbirda.
Metoda obejścia: Brak – trzeba ręcznie poprawiać zepsute znaki w temacie. Bug ten jest znany zespołowi Mozilli (bug 229399 link do str. zewnętrznej) i został usunięty w wersji 1.5 programu.

2. Niepoprawne wysyłanie znaków spoza ASCII w nagłówkach zdefiniowanych przez użytkownika
Opis buga: Istnieje możliwość dodania do listy rozwijanych nagłówków (standardowo są to To: Cc: Bcc: Reply-To: Newsgroup: i Followup-To:) własnych nagłówków, na przykład X-No-Archive:, Keywords:, Summary: i dowolnych innych. Podczas pisania listu można wówczas dodać odpowiednią zawartość do każdego z tych nagłówków w miarę potrzeb. Znaki spoza ASCII wpisane w te dodatkowe nagłówki są wysyłane jako wielobajtowe sekwencje Unicode. W nagłówkach znaki spoza ASCII muszą być zakodowane Quoted-Printable lub Base64.
Metoda obejścia: Brak – zawartość nagłówka (nagłówków) trzeba zakodować przy użyciu jakiegoś zewnętrznego narzędzia (np. rozszerzenia Mnenhy link do str. zewnętrznej – działa tylko w oknie kompozycji – lub znajdującego się na tej stronie link do str. zewnętrznej i uzupełnić o wymagane znaczniki kodowania).
UWAGA: Ten błąd dotyczy wyłącznie nagłówków zdefiniowanych przez użytkownika i dodawanych jednorazowo w oknie kompozycji. Tekst przeznaczony do dodawania do każdego listu w dowolnym nagłówku, zdefiniowany w pliku prefs.js, będzie prawidłowo zakodowany.

3. Podpis może zawierać jedynie znaki z bieżącej strony kodowej używanej w systemie
Opis buga: Patrz p. 4 powyżej (o podpisie).
Metoda obejścia: Instalacja i konfiguracja rozszerzenia Signature Switch w wersji co najmniej 1.1. Dodatkowo w przypadku Linuksa można uruchomić system wybierając kodowanie UTF-8 (wówczas można mieć w podpisach dowolne znaki spoza ASCII, pliki z podpisami powinny być oczywiście w kodowaniu UTF-8). Ograniczenie to zostało usunięte w wersji 2 programu.

4. Zbędna i nieprawidłowa opcja substytucji kodowania Windows-1252, gdy listu nie można wysłać w kodowaniu ISO-8859-1
Opis buga: Domyślnie program ma opcję, by w przypadku wysyłania listu kodowanego ISO-8859-1 zawierajacego znaki spoza tego charsetu próbować go wysłać jako Windows-1252. Kodowania Windows (tak jak Mac, Amiga, strony kodowe DOS i inne wewnątrzfirmowe rozwiązania) nie mają miejsca w internecie; przyjęte jest stosowanie ISO-8859-15 jako substytutu.
Metoda obejścia: Jeżeli nie korzysta się z mechanizmu automatycznego wyboru charsetu (patrz p. 2.4 i p. 2.6), należy otworzyć edytor ustawień, znaleźć linię intl.fallbackCharsetList.ISO-8859-1, i skasować wartość Windows-1252 lub zmienić ją na ISO-8859-15. Ponieważ wartości domyślne normalnie nie są wstawiane w plik prefs.js, w przypadku ręcznej konfiguracji tej opcji należy w prefs.js dodać linię:

user_pref("intl.fallbackCharsetList.ISO-8859-1", "");

(wyłącza substytucję dla ISO-8859-1) lub

user_pref("intl.fallbackCharsetList.ISO-8859-1", "ISO-8859-15");

8. Dodatek: Niedogodności programu nie będące bugami

1. We współpracy z niektórymi przeglądarkami litery ze znakami diakrytycznymi i znaki specjalne zawarte w linkach mailto: nie są obsługiwane poprawnie
Opis problemu: Standard HTML pozwala na konstruowanie odsyłaczy uruchamiających okno kompozycji domyślnego mailera z już wstawionym adresem odbiorcy oraz wypełnionymi innymi częściami: tematem, treścią i ewentualnie innymi nagłówkami. Odsyłacz taki wygląda następująco: mailto:adres@server?subject=tytuł_maila&body=początek_treści_maila. Znaki spoza ASCII zawarte w tych linkach mogą ulec zepsuciu, efekt zależny jest od używanej przeglądarki – efekty zawierają się między pełną obsługą, przez obsługę tylko znaków z kodowania odpowiadającego ustawieniu regionalnemu (mogą wystąpić różne efekty w zależności od sposobu zapisania znaków spoza US-ASCII – jako znaki 8-bitowe, encje numeryczne czy ciągi hex), po brak obsługi. Problem bierze się stąd, że z jakichś powodów sposób użycia znaków spoza US-ASCII w linkach mailto jest nieunormowany (patrz RFC 2368 link do str. zewnętrznej p.2). Więcej szczegółów: bug 169388 link do str. zewnętrznej.
Metoda obejścia: Wydaje się, że problem nie istnieje, gdy Thunderbird używany jest w parze z Firefoksem; współpraca z Operą daje najgorsze rezultaty.

9. Dodatek: Wyświetlenie dowolnego pola nagłówka czytanego listu

Istnieją dwie możliwości: gdy zależy nam na wyświetleniu zawartości pól nagłówka „Organization” lub „User-Agent”, można uaktywnić pokazywanie ich (lub jednego z nich) wstawiając w prefs.js jedną lub obie następujące linie (lub w istniejącej zmienić wartość false na true):

user_pref("mailnews.headers.showOrganization", true);
user_pref("mailnews.headers.showUserAgent", true);.

Do wyświetlenia innych nagłówków używa się rozszerzenia Mnenhy (po angielsku) link do str. zewnętrznej lub Mnenhy (po polsku) link do str. zewnętrznej. Konfiguracja sprowadza się do zaznaczenia klatek przy odpowiednich polach nagłówków w opcjach rozszerzenia.

10. Dodatek: Uciążliwości i ich usunięcie

Thunderbird, mimo wielu zalet, cechuje się dwoma ustawieniami, które domyślnie są sprzeczne z panującymi zwyczajami i netykietą (a jedno z nich – z ergonomią i zdrowym rozsądkiem).

10.1. Domyślne wysyłanie wszystkich listów w formacie HTML

Za globalne ustawienie (stosowane do wszystkich nowo tworzonych kont) odpowiadają linie:

user_pref("mail.html_compose", false);
user_pref("mail.identity.default.compose_html", false);

(domyślnie ustawione są na „true”).

W przypadku już założonych kont ustawienie osobno dla każdego konta można zmieniać z poziomu interfejsu, w opcjach konta na pozycji „Kompozycja i adresowanie” (ang. „Composition & Addressing”):

W razie potrzeby można uruchomić edytor listu w formacie HTML naciskając klawisz Shift i klikając na ikonę „Napisz” lub „Odpowiedz”.

Za to ustawienie odpowiada linia:

user_pref("mail.identity.idX.compose_html", false);

gdzie idX to numer konta (opcja domyślnie jest ustawiona na „true”).

10.2. Domyślne pseudowątkowanie

Wskutek bardzo dyskusyjnych założeń program domyślnie łączy listy o identycznym temacie w wątek mimo tego, że ani nagłówek References, ani nagłówek In-Reply-To nie wskazuje na to, by dane listy miały ze sobą jakikolwiek związek. Nie ma możliwości wyłączenia tego z poziomu interfejsu graficznego. Zachowanie to powoduje, że np. na grupie testowej wszystkie posty o temacie „Test” (najpopularniejszy temat postów testowych) zostaną bezmyślnie zgrupowane jako wątek. Funkcja ta jest zbędna dla prawie wszystkich użytkowników i w prawie wszystkich sytuacjach, przydatna bywa jedynie w przypadku list mailingowych korzystających ze źle skonfigurowanego serwera, wycinającego nagłówki wskazujące na pozycję listu w wątku. Zachowaniu temu można tylko częściowo zapobiec dzięki linii:

user_pref("mail.thread_without_re", false);

(domyślna wartość to „true”). W wyniku tego ustawienia program nie będzie łączył listów o identycznym temacie nie zaczynajacym się od „Re:”, ale listy o identycznych tematach zaczynających się od „Re:”, nie należących do pełnego wątku, dalej będą pseudowątkowane. W przypadku folderów, w których program już dokonał powątkowania, należy usunąć odpowiedni plik .msf (w przypadku grup dyskusyjnych straci się wszystkie artykuły z danej grupy).

11. Gdzie i kiedy nie używać polskich liter (ani innych znaków narodowych lub specjalnych)

Oprócz oczywistej sytuacji, gdy wiemy, że odbiorca nie będzie w stanie odczytać polskich (czy innych) liter – np. jest za granicą, korzysta z kafejek internetowych lub z uprzejmości gospodarzy i nie może skonfigurować komputera do wyświetlenia wszystkich znaków – bardzo zalecane jest nieużywanie żadnych takich znaków w nazwach załączników. Spowodowane jest to tym, że znaki spoza US-ASCII mogą być zakodowane na jeden z trzech sposobów:

Aby odbiorca mógł otworzyć załącznik, jego program musi obsługiwać użytą metodę kodowania. Brak obsługi danego sposobu kodowania u odbiorcy skutkuje zmianą nazwy załącznika – gdy list zawiera kilka załączników z opisem ich zawartości w treści, jest to bardzo uciążliwe. Innym problemem jest to, że oprócz zmiany nazwy pliku często zmieniane jest też rozszerzenie (na nic nie mówiące .dat, .att lub .bin), z czym mniej zaawansowany odbiorca sobie nie poradzi. Dodatkowo, nawet gdy program odbiorcy obsługuje metodę kodowania użytą przez nadawcę, w przypadku metod RFC dodatkowo jego system operacyjny i aplikacje używane do otwierania tego typu plików muszą obsługiwać znaki użyte w nazwie. Z kolei w przypadku załączników wysłanych bez kodowania nazwy (tryb Raw) znaki spoza US-ASCII w nazwie mogą zostać wyświetlone w przypadkowym kodowaniu (np. kodowaniu systemowym lub ISO-8859-1), skutkiem czego w nazwie będą krzaki. Nie istnieje proste, w pełni skuteczne rozwiązanie powyższych ograniczeń, jedyny sposób, który na 100% zadziała u wszystkich, to użycie wyłącznie znaków US-ASCII w nazwie załącznika.

Należy również pamiętać, że niektóre formaty plików co prawda pozwalają na umieszczenie w treści znaków narodowych, ale nie przenoszą informacji o użytym kodowaniu, przez co w wypadku przesłania takiego pliku jako załącznik u odbiorcy znaki narodowe mogą się nie wyświetlić prawidłowo. Najbardziej powszechny przykład to pliki tekstowe (o rozszerzeniu .txt). W typowym systemie Windows plik taki otwierany jest w systemowym Notatniku, w którym zawsze używane jest kodowanie systemowe i nie ma żadnej możliwości zmiany kodowania treści. Znaki narodowe będą pokazane prawidłowo tylko w sytuacji, gdy komputer odbiorcy używa tego samego kodowania systemowego, którego używa komputer nadawcy. Kodowanie systemowe zależy od locale systemowego (w przypadku korespondencji z osobami przebywającymi w innych krajach należy założyć, że locale nadawcy i odbiorcy będzie się różnić) oraz używanego systemu operacyjnego. Przed przesłaniem takiego załącznika należy się upewnić, że odbiorca będzie mógł zobaczyć znaki narodowe w treści.

12. Linki

Rozwiązania przetestowane na programie Mozilla Thunderbird w wersji 1.0.2 i 1.0.6 pod Windows 2000 SP4 English, niektóre zostały również przetestowane na programie Mozilla Suite 1.7.2. Zgodnie z moją wiedzą wszystkie rozwiązania powinny też działać z obecną wersją modułu obsługi poczty i grup dyskusyjnych Mozilli, ale nie testowałem ich i nie mogę gwarantować, że i w tym wypadku zadziałają.

licznik