Nahlédněte i do Diskuse pod čarou!

Počeštění pine pro Unix

Od pine můžete chtít:
  1. aby odesílal vaše dopisy česky
  2. aby příchozí české dopisy zbavil háčků a čárek, pokud je z nějakých důvodů nemůžete číst (nepočeštěný Unix nebo telnet na něj)

Odesílání českých dopisů

Pro korektní české odesílání stačí nastavit character-set (z hlavního menu do nastavení pomocí kláves S(etup) a pak Configure) na ISO-8859-2. Administrátoři by měli znakovou sadu nastavit v souboru /usr/local/lib/pine.conf (na Linuxu jen /usr/lib/pine.conf), konkrétně úpravou řádku character-set:

character-set=ISO-8859-2

Mimochodem, nevím, jak je to možné, ale pine sám (sama? ta sosna nebo ten pine?) nějak pozná, že posílaný dokument je v ISO-8859-2, a pošle jej se správně nastavenými středoevropskými hlavičkami (Content-Type: TEXT/PLAIN; charset=ISO-8859-2) jako Quoted-Printable, i když není zadán žádný character-set.

Podpora 8BITMIME ESMTP

Pokud máte ESMTP server, který podporuje rozšíření 8BITMIME (např. sendmail 8.8.x), je dobré nastavit enable-8bit-esmtp-negotiation, takže se maily budou posílat 8bitově, ale váš chytrý ESMTP server pozná, zda jeho partneři zvládají 8bitový přenos, a pokud ne, tak mail sám překóduje do Quoted-Printable, případně BASE 64. Mimochodem, nevím o jiném MTA než sendmail, který by tohle uměl - qmail, ač píše, že je 8BITMIME, tohle neumí..

Podpora čtení příchozích českých dopisů i v nečeském prostředí

Několikrát jsem se setkal se situací, kdy někdo z různých důvodů nemohl číst českou poštu v programu pine (třeba jen po dobu, kdy byl na služební ceste v místě, kde češtinu nepodporují). Uvádím proto jedno z možných řešení, jak se s takovou situací vyrovnat při použití programu pine verze alespoň 3.92 (v současnosti je už asi tři čtvrtě roku k dispozici 3.96).

Celý postup využívá vlastnost nazvanou display-filter, implementovanou poprvé ve verzi 3.92. Tato může při zobrazení textové části dopisu, jsou-li splněny zadané podmínky, vyvolat pred zobrazením filtr, kterým jsou textová data před zobrazením pozměněna. Podobně se děje i při pokusu o zaslání jinému uživateli non-MIME formou (forward) a při odpovědi (reply). Pro náš účel je podstatné to, že jednou z možných podmínek (je obecně text vyskytující se v těle zprávy) je předprogramována podmínka _CHARSET()_, která nabývá hodnoty uvedené v parametru charset řádky Content-type: v hlavičce zprávy.

Nabízené řešení využívá editor sed, ale asi by nebyl problém použít např. tr (a možná by tak došlo navíc k mírnému urychlení vzhledem k menší velikosti programu tr).

Tento soubor IL2toASCII.sed je třeba uložit do nějakého vhodného místa (budu předpokládat domovský adresář). Obecně je asi lepší psát plné cesty; relativní mi někdy zlobily, ale je to neurčité.

Dále předpokládám, že program sed je v adresáři /bin (zde mi to bez plné cesty nefungovalo).

Po spuštění programu pine se příkazem M(enu) dostaneme do hlavní nabídky (pokud tam nejsme), příkazem S(etup) a poté C(onfig) do nastavení. Nalezneme položku display-filter a přidáme pomocí příkazu A(dd) novou položku:

_CHARSET(ISO-8859-2)_ /bin/sed -f IL2toASCII.sed

Příkazem E(xit) ukončíme změnu nastavení (potvrdíme Yes na otázku, zda chceme změny uložit a příkazem Q(uit) ukončíme běh programu pine. Poté ho znovu spustíme a na nějakém dopise si ověříme, že vše funguje.

Důležité poznámky:

  1. Výše popsaný postup filtrování není uplatňován na hlavičky dopisů (pravděpodobně s ohledem na výkon při prohlížení seznamu dopisů), jen na texty uvnitř (ovšem tam i na jednotlivé části vícedílných dopisů). Tj. nezalekněte se, že hlavičky jsou pořád osmibitové.
  2. Jste-li správcem sítě, kde je určitě třeba toto vše nastavit globálně (zamyslete se, prosím, nad tím, zda neexistuje spíše možnost zavést někde podporu češtiny), tak si prohlédněte položku display-filter ve vašem souboru .pinerc a převeďte ji do souboru /usr/local/lib/pine.conf. Pokud tento soubor nemáte, vytvořte si vzorový příkazem:
    pine -conf > /usr/local/lib/pine.conf
    (Musíte mít práva zápisu do adresáře /usr/local/lib, abyste to mohli udělat.)
  3. Pokud se na podobném principu udělá položka do .mailcap nebo /etc/mailcap (s testem na obsah charset), tak je možno takto "zbavit diakritiky" dopisy ve všech programech, které používají mailcap (jmenovitě téměř jistě ELM ME+, pokud se správně nastaví a využije metamail).