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

Čeština v elektronické poště

Pokud bojujete s českými písmeny ve vašem systému vůbec, zkuste si nechat poradit s počešťováním na předchozí stránce. Tamtéž naleznete seznam programů pro elektronickou poštu, které k češtině donutit lze, a popis, jak to udělat.

Pokud víte, že jste schopni číst i psát v háčkované češtině, přidejte tuto informaci i do patičky svých dopisů. Lidé, kteří jsou na tom s češtinou stejně dobře, toho jistě rádi využijí...

Jaký způsob posílání češtiny považuji za nejvhodnější?

8BITMIME (nebo Quoted-Printable)
ISO-8859-2

Další úvahy si můžete přečíst ve společenském katechismu českého Internetu.

Chcete-li vědět, jak je obsah dopisů označován v jejich hlavičce, přečtěte si úvod k standardu MIME, na ještě jeden problém upozorňujeme níže. Pokud máte strach, že vůbec nevíte, o čem je řeč, možná by vás zajímal i článek p. Vrabce Začátečník na Internetu, Lekce 3: Elektronická pošta - prvá část.

Proč 8BITMIME (nebo Quoted-Printable)?

Zdaleka ne všechny mailové servery jsou schopny přenášet všech osm bitů zprávy, výsledkem průchodu české zprávy odesílané bez převedení do sedmibitových opisných sekvencí přes takový server vytvoří "text psan_ h__kovanou _e_tinou". (Všechny české znaky se ztratí, nahradí podtržítkem, otazníkem, nebo jinak zpotvoří.)

Odesílání dopisů jako Quoted-Printable (nebo Base64) zaručí, že se všechny české (osmibitové) znaky přepíší do sekvence tří sedmibitových znaků (resp. v případě Base64 každé tři následující znaky přepsány do čtyř sedmibitových) a u adresáta samozřejmě přeloží zpět. Zaručí se tím korektní přenos informace i přes starší SMTP servery, ale dopis se proti původní reprezentaci za použití všech osmi bitů (8bit) zbytečně prodlouží, zvlášť když je v současné době stále více serverů propustných pro všech osm bitů.

8BITMIME je nové rozšíření SMTP serveru a zajišťuje rozumný kompromis mezi odesíláním 8bit (osmibitově; kratší, ale ne vždy bezpečné) a Quoted-Printable, resp. Base64 (sedmibitové, dopis prodloužen). Stručně lze 8BITMIME charakterizovat takto: server odešle 8bit pouze v případě, že sousední server takový dopis nepoškodí, v opačném případě bude dopis ochráněn převodem do Quoted-Printable nebo. Base64. Podrobnější popis 8BITMIME naleznete v příspěvku Vladimíra Solnického.

Pokud váš program pro elektronickou poštu dovoluje přímé nastavení 8BITMIME, máte vyhráno, protože o všechno ostatní se postarají počítače. Pokud můžete volit jen mezi 8bit a Quoted-Printable, je stále šance využít nejchytřejšího způsobu 8BITMIME. Záleží na vašem nejbližším SMTP serveru (většinou je nastaven v předvolbách vašeho programu pro elektronickou poštu), jestli 8BITMIME umí.

Jak zjistím, jestli můj server umí 8BITMIME?

Jednoduchý test, jak zjistit, zda váš SMTP server podporuje 8BITMIME je následující:
  1. Vyvolejte telnet na port 25 počítače, který slouží jako váš nejbližší SMTP server.
    • Je-li váš WWW prohlížeč správně nastaven, mělo by stačit zadat URL:
      telnet://SMPT_server:25/
      kde dosadíte IP adresu vašeho SMTP serveru.
    • V Unixu stačí příkaz:
      telnet SMPT_server 25
    • Pokud víte, jaký program se pro odesílání pošty používá, můžete tento program rovněž zpustit přímo, např.:
      /usr/sbin/sendmail -bs
  2. Zadejte příkaz EHLO SMPT_server
  3. Podívejte se, zda se jako odpověď vypíše řetězec 8BITMIME (mezi jinými).
  4. Poté skončete příkazem QUIT.

Je-li výsledek vašeho testu kladný, můžete bez obav odesílat dopisy osmibitově (zvolte tedy ve svém elektronickém pošťákovi 8bit), o případný nezbytný převod do Quoted-Printable se postará váš server. V opačném případě nastavte raději svůj poštovní program na Quoted-Printable ručně - dopisy budou možná zbytečně delší, ale zaručíte, že osmibitové znaky dojdou neporušeny.

Jaké kódování češtiny odesílat?

Bez ohledu na to, jakým způsobem se tedy všech osm bitů dopraví až k adresátovi, je rozhodující znaková sada použitá v dopise.

Pro český Internet je podle mého názoru (ale i názoru členů konference CSINFO-L) nevhodnější znaková sada ISO-8859-2. Než začnete prosazovat a používat znakovou sadu jinou, přečtěte si prosím několik důvodů, proč doporučuji právě ISO-8859-2.

Problém s hlavičkami dopisů a osmibitovými znaky

Když se všichni báječně dohodneme na jedné znakové sadě a budeme ji řádně v hlavičce dopisu označovat, zaručíme tak, že nám tělo dopisu dojde ve správné češtině. Tělo dopisu, například pole Subject, jméno odesilatele a příjemce a další informace se však z hlediska protokolu SMTP řadí ještě do hlavičky dopisu a její neuspořádanost nezaručí, že se potenciální osmibitová informace neobjeví v jednom z citovaných polí dříve, než pole Content-type, kde se pošťák teprve dozví znakovou sadu.

Jako řešení tohoto problému se částečně ujalo speciální zabalení obsahů osmibitových hlaviček. Místo Ondřej Bojar se v poli odesilatele může (ale nemusí) objevit něco jako:

=?ISO-8859-2?Q?Ond=D8ej Bojar?=

Význam je následující: opisuji řetězec ve znakové sadě ISO-8859-2 pomocí opisu Quoted-Printable (písmeno Q).

Znaková sada musí být řádně registrovaná, opis je dovolen buď Quoted-Printable nebo Base64 (indikován písmenem B), tedy jakési maskované MIME.

Praxe však ukazuje, že zdaleka ne všechny poštovní programy (a ani ne všechny, které jinak MIME podporují!) si se zabalenými hlavičkami dopisů poradí. Zdeněk Havránek nás upozornil na následující nekompatibility:

MS Outlook Express odesílá hlavičky v kódování Base64 =?ISO-8859-2?B?.... a to vždy neumí správně zobrazit Windows Pegasus Mail 2.54 i 2.75 preview.

MS Outlook (plná verze) naopak neumí zpracovat hlavičky s kódováním Quoted-Printable =?ISO-8859-2?Q?...., které lezou z Windows Pegasus Mailu.

Naštěstí je to problém zanedbatelné velikosti, ale je přesto dobré o něm vědět. Třeba pro případ zakládání plně české elektronické konference...

Vyzkoušejte si, jak vám dupou králíci

Máte-li pochybnosti o správném čtení českých (či jiných neanglických) dopisů, můžete zkusit poslat mail (na obsahu nezáleží) na následující adresy, vrátí se vám testovací dopisy a tabulky příslušných kódování:

abeceda@des.fee.vutbr.cz iso-8859-1@des.fee.vutbr.cz iso-8859-2@des.fee.vutbr.cz
iso-8859-3@des.fee.vutbr.cz iso-8859-4@des.fee.vutbr.cz iso-8859-5@des.fee.vutbr.cz
iso-8859-6@des.fee.vutbr.cz iso-8859-7@des.fee.vutbr.cz iso-8859-8@des.fee.vutbr.cz
iso-8859-9@des.fee.vutbr.cz koi8-r@des.fee.vutbr.cz tables@des.fee.vutbr.cz

Konference v češtině?

Zatím skutečně neexistuje mnoho konferencí, do nichž by si mohl dovolit člověk napsat něco česky se všemi nabodeníčky. Buď by byl seřván správcem konference (prostřednictvím automatické odmítavé odpovědi) nebo všemi odběrateli dohromady nebo obojí. Ostatně v mnoha konferencích tak bouřlivou reakci vyvolá i jakákoli otázka na dopisy v češtině, třebaže může být napsána tou nejskromnější ASCII!

Ideální chování listserverů, pro nějž snad konečně dozrává doba, zahrnuje archivaci příspěvků v plnohodnotné češtině (nejšikovněji v ISO-8859-2 nebo Unicode), příjem zpráv v různých znakových sadách a rozesílání podle převoleb čtenářů buď s nabodeníčky (doporučuji nabízet pouze ISO-8859-2 nebo Unicode, jen ať si zvykneme), nebo bez nich.

Jeden takový pokus (pro listserver Majordomo 1.94.4 pro Linux) najdete na zde. Pokud máte další zkušenosti s provozováním české konference, neváhejte přispět!