Страница 1 из 1

EXIM фильтр по словам

Добавлено: 2019-12-23 10:15:22
Reken
Подскажите пожалуйста
Необходимо что бы exim отбрасывал письма содержащие определенные слова...
Допустим слово USD
Всё успешно работает с правилом:
condition = ${if match{$message_body}{\N[Uu][Ss][Dd]\N}{yes}{no}}

Но если необходимо отбрасывать по русскому слову, допустим "ВЗЛОМ", то правило не срабатывает...
condition = ${if match{$message_body}{\N[Вв][Зз][Лл][Оо][Мм]\N}{yes}{no}}

EXIM фильтр по словам

Добавлено: 2019-12-23 11:46:14
snorlov
Дык, наверное дело в кодировке...

EXIM фильтр по словам

Добавлено: 2019-12-24 15:45:41
Reken
Если применять фильтр в секции acl_mime то русские буквы EXIM не отрабатывает...Если применять фильтр в секции acl_data то всё нормально, exim распознает русские буквы...
Вот только если в случае с mime можно переслать письмо нужному адресату. Пример:

Код: Выделить всё

warn message = Subject: VIRUS
condition = ${if match{$message_body}{\N[Uu][Ss][Dd]\N}{yes}{no}}
decode = default
В роутер пишем:

Код: Выделить всё

message:
driver = redirect
condition = ${if match{$h_Subject:}{\N[Vv][Ii][Rr][Uu][Ss]\N}{yes}{no}}
headers_remove = Subject
headers_add = Subject:[VIRUS] $rheader_subject
data = reken@domen.local
А фильтр data_acl когда срабатывает, просто отбрасывает письмо без пересылки...
Как можно решить проблему? Подскажите пожалуйста

EXIM фильтр по словам

Добавлено: 2019-12-25 9:01:44
Reken
Всё получилось, если в секции acl_data

Код: Выделить всё

warn message = Subject: VIRUS
condition = ${if match{$message_body}{\N[Uu][Ss][Dd]\N}{yes}{no}}
#decode = default #Закоментировать эту строку

EXIM фильтр по словам

Добавлено: 2019-12-26 11:58:00
Reken
Столкнулся со следующей проблемой...
Правило:

Код: Выделить всё

condition = ${if match{$message_body}{\N[Uu][Ss][Dd]\N}{yes}{no}}
Сканирует не только текст внутри письма, но и адрес отправителя. Если в адресе есть буквы "U","S","D". То срабатывает правило.
Подскажите пожалуйста, как можно сделать, что бы только содержимое письма сканировалось?