Nahlédněte i do Diskuse pod čarou!
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.
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í..
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.
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.)
.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).