Załóżmy teraz, że chcemy tak skonfigurować system, aby w zależności od warunków w jakich pracujemy poprawnie czytać list z ,,polskimi'' literami.
Co nam do tego będzie potrzebne? Wspomniany już program metamail. Jak wspominaliśmu dostępny jest on i dla środowiska DOS.
Przygotować musimy też plik MAILCAP. Zakładam, że plik już istnieje i będziemy go tylko modyfikować.
Załóżmy dalej, że nie mamy żadnej możliwości wyświetlenia polskich liter na terminalu.
Załóżmy również, że zgodnie ze standardem MIME przesyłka zawierająca polskie znaki ma nagłówek:
Content-type=text/plain ; charset=iso-8859-2
W pliku MAILCAP modyfikujemy (jeżeli już jest) lub dopisujemy (jeżeli nie ma) następującą linię:
text/plain ; nopl %sTworzymy również plik wsadowy (skrypt) o nazwie nopl i umieszczamy go w którejś z kartotek znajdujących się w ścieżce PATH zawierający polecenia zamieniające znaki o kodach ISO-8859-2 na zwykłe ASCII. Może to być coś takiego:
plconv -ISO-Latin-2 <$1 | plconv +brak |less(Ja wykorzystałem program plconv Jarka Strzałkowskiego.)
Analogiczne rozwiązanie można zastosować i w środowisku DOS (w tym przykładzie zakładam, że używany jest interpreter poleceń 4DOS). Plik nopl.bat wygląda tak:
if %_CODEPAGE EQ 852 (plconv -ISO-Latin-2 <%1 | plconv +IBM-Latin-2 |less) if NOT %_CODEPAGE EQ 852 (plconv -ISO-Latin-2 <%1 | plconv +brak |less)(Wykorzystałem dodatkowo fakt, że jeżeli została zainstalowan strona kodowa 852 - polskie litery można spokojnie wyświetlać.)
Cały problem polega na tym, że większość znanych mi programów pocztowych zakłada, że ,,umie'' poprawnie wyświetlać przesyłki o zawartości ,,text/*'' i w tych przypadkach niechętnie korzysta z z pliku MAILCAP. Oczywiście zapisanie treści listu (wraz z nagłówkami) do pliku i przetworzenie go za pomocą programu matamail powinno dać oczekiwany skutek.
Wykorzystnie parametru test pliku mailcap pozwala budować znacznie bardziej rozbudowane konstrukcje dokonujące różnego rodzaju przekształceń tekstu w zależności od tego jaki zestaw znaków jest używany.
Możemy również przekazać pewne dodatkowe parametry do uruchamianaego programu. Jeżeli w pliku mailcap pjawi się linia następująca:
text/plain; nopl %s %{charset}podczas wywołania programu nopl ciąg znaków %{charset} zostanie zastąpiony przez aktualną wartość parametru charset czytanej przesyłki.