LINUX.ORG.RU

Добавить свое правило на проверку спама

 ,


1

1

Добрый вечер)
OS UBUNTU 16.04
Имеется локальный почтовый серверbind9+postfix+dovecot+mailscanner+spamassassin+clam antivirus Создавал в учебных целях(курсовая работа), все работает, письма отправляет, принимает, все хорошо, вроде как проверяет на вирусы и спам(смотрел логи). Проверял на Mozilla ThunderBird.
Задача: добавить правило проверки на спам, а точнее если в письме встречается какое либо слово(допустим «фирма»), spamAssassin блокировал это письмо и отправлял в спам. Может есть другие решения не использующие spamassassin.
Знаком с линуксом пару недель, многого не знаю, прошу о помощи более осведомленных людей :)
Заранее спасибо)



Последнее исправление: alexNew (всего исправлений: 1)

Имеется локальный почтовый серверbind9+postfix+dovecot+mailscanner+spamassassin+clam antivirus
Знаком с линуксом пару недель

Поделись секретом.

anonymous
()
Ответ на: комментарий от anonymous

чуток консультаций с преподом, листания гугла(овер 30 часов), документации Уложился в бессонные 3дня

alexNew
() автор топика

Задача: добавить правило проверки на спам, а точнее если в письме встречается какое либо слово(допустим «фирма»), spamAssassin блокировал это письмо и отправлял в спам. Может есть другие решения не использующие spamassassin.

milter-regex

anto215 ★★
()
Ответ на: комментарий от anto215

Не будет ли иметь разногласий со spamassassin?
Сегодня попробую :)

alexNew
() автор топика

spamassassin на свалку истории, где ему и место.

Заместо него dspam + dovecot-sieve + dovecot-antispam.

Первый распознаёт, второй раскладывает по папкам, третий переучивает.

beastie ★★★★★
()
Ответ на: комментарий от alexNew

чуток консультаций с преподом, листания гугла(овер 30 часов), документации Уложился в бессонные 3дня

Интересно. Вот правило для SpamAssassin.

Содержимое файла «/usr/share/spamassassin/20_hello_russian.cf»:

body      __RU_RULES_HELLO     /привет/i
body      __RU_RULES_WORLD     /мир/
meta      __RU_RULES_HELLO_OK  ( __RU_RULES_HELLO + __RU_RULES_WORLD ) >=2
meta      RU_RULES_HELLO       __RU_RULES_HELLO_OK
describe  RU_RULES_HELLO       Russian rules: Hello, world!
score     RU_RULES_HELLO       -0.1
$ echo 'Привет, мир!' | mail -s 'Test' to_email@company.com
anonymous
()
Ответ на: комментарий от anonymous

Если не брать в расчет язык, то все тривиально, как подсказал anonymous.

Но тело письма может быть в различных кодировках и разных способах кодирования (QP/base64)

Если очень хочется правильно фильтровать все, то нужно создавать свой check на перле.

Про отладку - я бы скармливал образец письмам spamassasin -rtD

vel ★★★★★
()
Последнее исправление: vel (всего исправлений: 1)

может оказаться, что создав правило через sigtool для clamav блокировать будет проще, чем ковырять spamassassin

sigtoot/clamav неплохо работает с текстом

vel ★★★★★
()
Последнее исправление: vel (всего исправлений: 1)
Ответ на: комментарий от vel

Если очень хочется правильно фильтровать все, то нужно создавать свой check на перле.

Раньше нужно было, поскольку perl unicod-а не понимал. Теперь ( perl 5.20 ) русский язык из коробки. Normalize и регулярное выражение типа /спам/u

anonymous
()
Ответ на: комментарий от anonymous

про перл с //iu вопросов нет.

Русский текст сначала нужно получить в utf8, а не koi8-r/1251. body может быть в quote-printable/base64. Нужно сначала убедиться, что body в нормальном виде.

Много лет назад ( >5 лет ) я ковырял SA на предмет поиска и замены английских символов в русских словах и помню, что проверка русского текста в body была не совсем тривиальной задачей.

vel ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.