Здравствуйте!
Есть почтовый шлюз FreeBSD на котором крутится Postfix,Amavisd-new,SpamAssassin.Проблема 1:
----------------
В правилах SpamAssassin не работают регулярные выражения с регистронезависимым поиском русскими буквами, например:
/реклама/i
Поискав информацию по этому вопросу, нашел решение - добавить в EvalTests.pm и PerMsgStatus.pm :use locale;
use POSIX 'locale_h';
setlocale(LC_ALL, "ru_RU.KOI8-R");Однако модуля EvalTests.pm в сисстеме не оказалось, а добавление в PerMsgStatus.pm ничего не дало.
---local.cf---
lang ru
normalize_charset 0
ok_locales en ru
ok_languages en ru
report_charset koi8-rПроблема 2:
----------------
SpamAssassin отправляет отчеты, в которых Content preview: (переменная _PREVIEW_) возвращает знаки вопроса, например:Content preview: ?????????? ????? ? ?????????? ??????? ? 2008 ???? ??????????
????? ? ?????????? ??????? ? 2008 ???? ??????? 26 ????? 2008 ?. ???? ????????:
(495)506--1824 ? 509--2046 ??????? ?????????:---amavisd.conf---
$hdr_encoding = 'koi8-r'; # header field bodies charset
$bdy_encoding = 'koi8-r'; # notification body text charsetSpamAssassin version 3.2.3
running on Perl version 5.8.8
amavisd-new-2.6.0-rc1 (20080319)
FreeBSD 6.3-RELEASElocale
LANG=
LC_CTYPE="C"
LC_COLLATE="C"
LC_TIME="C"
LC_NUMERIC="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_ALL=
Где копать?
up
1) Испрасить файл /usr/local/lib/perl5/site_perl/5.8.8/Mail/SpamAssassin/Plugin/Check.pm1a)добавить
use utf8;
2a)Факультативно туда же:
use POSIX qw (locale_h);
die "Could not set locale ru_RU.UTF-8" unless setlocale(LC_CTYPE,'ru_RU.UTF-8');
die "Could not set locale ru_RU.UTF-8" unless setlocale(LC_COLLATE,'ru_RU.UTF-8');2) В файле local.cf указать
normalize_charset 1
3) Регулярные выражения писать в кодировкe UTF-8
Свидетельствую, что у меня работают регулярные выражения с русскими буквами