Как заставить HP OpenMail работать с различными кодировками кириллицы

Ниже приводится описание «почти честной» русификации OpenMail’а («почти» - потому что при данном способе OpenMail хранит сообщения внутри себя в Win1251, но остается уверен, что это – ISO8859-1. Не вполне правильно, но честнее, чем то, что может предложить HP Russia и официальный локализатор OpenMail - Demos).

Текст написан как тупая инструкция. Кто хочет разобраться, как составляются таблицы перекодировки и почему номера charset’ов начинаются с 1500 – you are welcome, в man’ах и комментариях в файлах от Hewlett-Packard все написано. Кто разбираться не хочет – сия инструкция поможет.

Описывается следующая ситуация – все исходящие во внешний мир сообщения преобразовываются в koi8r, входящие из внешнего мира в форматах koi8r, iso8859-5, cp866, koi8u преобразовываются в win1251 для Outlook’а - как мне кажется, наиболее типичная на сегодня конфигурация (может, за исключением koi8u :-)).

Хочется поблагодарить Александра Волобуева, a.k.a. Hair – он не то чтобы соавтор, а, скорее, главный автор данного рецепта. Мне принадлежит скорее литературное изложение :-).

 

Везде далее ~ - это каталог /var/opt/openmail. Поехали.

Зарегистрировать кодировки в ~/sys/CSInfo.cfg

Изменить номер версии VERSION = 2

Написать:

CHARSET_NAME = WIN_1251

CHARSET_NUMBER = 1500

INTERCHANGE = yes

 

CHARSET_NAME = KOI8_R

CHARSET_NUMBER = 1501

INTERCHANGE = yes

 

CHARSET_NAME = ISO8859_5

CHARSET_NUMBER = 1502

INTERCHANGE = yes

 

CHARSET_NAME = CP866

CHARSET_NUMBER = 1503

INTERCHANGE = yes

 

CHARSET_NAME = KOI8_U

CHARSET_NUMBER = 1504

INTERCHANGE = yes

Зарегистрировать кодировки в ~/sys/CharMap

OMCHAR=WIN_1251

OMSTDID=1500

 

OMCHAR=KOI8_R

OMSTDID=1501

 

OMCHAR=ISO8859_5

OMSTDID=1502

 

OMCHAR=CP866

OMSTDID=1503

 

OMCHAR=KOI8_U

OMSTDID=1504

 

Прописать соответствие между зарегистрированными кодировками OpenMail и кодировками MIME в ~/sys/mime.cs

Написать (подумав о том, что в поле charset пишут мэйлеры, с которыми вам приходится работать – со всеми сумасшедшими справиться нельзя, но постараться стоит, не так ли?):

KOI8_R            koi8-r

ISO8859_5   iso-8859-5

CP866       cp866

WIN_1251    windows-1251

И т.п.

Указать перекодировку в ~/sys/mimeout.str

Закомментировать строку после слов # Preserve ISO 8859 text

Написать

1167.ISO8859_1          1167.KOI8_R R

Создать ~/sys/mimein.str

Скопировать в mimein.str файл mimeout.str, изменить заголовок и написать

1167.WIN_1251     1167.ISO8859_1          R

1167.KOI8_R       1167.ISO8859_1          R

1167.CP866        1167.ISO8859_1          R

1167.ISO8859_5    1167.ISO8859_1          R

1167.KOI8_U       1167.ISO8859_1          R

Подложить файлы из omcyrenc.tar (прилагается) в каталог ~/csetconv

Удалить ~/sys/CSTables.ld, ~/sys/LCMap.bin

Выполнить

omconfsm –f CSInfo.cfg

omconfsm –f CharMap

omconfsm –f CSTables.ld

omconfsm –f LCMap.bin

omconfsm –f csetconv

 

Перезапустить OpenMail, не веря утверждениям, что после перестроения shared memory (omconfsm) все заработает. Не заработает, перезапустите.

 

Все.

Используются технологии uCoz