Регистрация...

Eserv Forum / E4 / Mail / Мысль о автоматизации обучения базы спам-фильтра

wikipost // (v1)
Продукты и услуги Скачать Документация Купить Поддержка Форумы Партнёрам Статьи О компании
Добрый день. Когда-то такой вопрос уже поднимал на форуме тогда ещё 3-го EServ-а, но ничего толком не закончилось. Подниму ещё раз, тут.

Итак: ко мне, то есть в мою организацию, почтовый сервер которой которой обслуживает E4, идёт спам. Много спама. Фильтровать спам, который идёт на несуществующих пользователей, нельзя: часто люди ошибаются при наборе имени адресата, такие письма идут на ящик приёмной, где вручную отбираются и передаются адресатам. Но — есть ведь адреса, на которые 100% идёт спам — например, адрес webmaster@мой_домен — у меня такого нету, не было и никогда не будет. С давних времён я сделал такую фишку: большинство таких вот явно спамерских адресов занесены в список, по которому почта на них переправляется на ящик spamm в моём домене, затем почтовым клиентом я тупо захожу на него, и перекидываю всю почту в IMAP-папку spam. Всё хорошо, фильтры обучаются — но вот работа получается какая-то некрасивая, обезьянья. Вопрос: можно-ли как-нибудь автоматизировать процесс, допустим, выполняя команду по перемещению письма в IMAP-spam в ходе работы SMTP-фильтра? Или, может быть, кому-то придёт в голову более изящное решение?

Да, вроде бы что-то подобное можно было сделать вёдрами или магнитами в PopFile, но у меня крутится SpamProtexx, который такого не умеет.
 
Комментарии к этой версии (22.10.2010 14:10) [~shajtan] 6e26dc51
АвторДатаТекстtags
matveeva22.10.2010 15:20
ред: 22.10.2010 15:24
У меня есть аналогичный список ( точнее даже два списка: для и от), и фильтрами Е4 письма из этого списка не принимаются вовсе. И перекидывать их никуда не надо. А фильтры антиспамные обучаются на оставшейся почте. Которой после отсекания остается на удивление мало. И не приходится огород городить.
wikipost
ac22.10.2010 16:43
Да, автообучение на гарантированном спаме можно сделать (не обязательно специальными функциями/флагами — можно SMTP-фильтрами). Но здесь опасность "перекосить" фильтр: человек не может тягаться с роботом в деле обучения — получится, что образцов спама фильтр увидит намного больше, чем не спама (того, что люди вручную наобучают) и у него "сложится впечатление", что мир вообще очень тёмное место, начнёт предвзято относиться к каждому новому письму, будет больше ложных срабатываний.

Если у вас сохранились архивы спама этих ящиков, то можете поэкспериментировать — пакетно обучить антиспам на этом архиве (popfile-test.exe из E3), и не проводить обучения на сравнимом объеме не-спама...
wikipost
ili_a22.10.2010 19:56
ac пишет: Да, автообучение на гарантированном спаме можно сделать (не обязательно специальными функциями/флагами — можно SMTP-фильтрами).
Может, тогда подскажете, как реализовать такой фильтр, напободие как был в E3 на базе Mcontent для пользователей, которые не используют IMAP?
wikipost
shajtan22.10.2010 20:31
2matveeva — идея именно в обучении фильтра, ну не доверяю я 100% пользователям. Если есть возможность автоматизировать процесс — это нужно сделать. Если есть что-то, что гарантированно является мусором, то не использовать такой шанс для тренировки фильтра — преступление.

2ac вот тут согласен, опасность перегнуть палку я уже ощутил. Но тут вообще дело тёмное — заставить пользователя поместить спам в соответствующую папку ещё можно, проверять спам на наличие ложных срабатываний — тоже, но вот заставить его рассказать фильтру, что у него есть не-спам, это гораздо сложнее. Сегодня, кстати, скопировал в папку clear почти весь свой почтовый архив — может, после этого фильтр одумается.

Короче, получается, что сделать это можно, но есть опасность переборщить... Ладно, но на всякий случай всё-же хотелось-бы знать, как именно применить SMTP-фильтр для этого?
wikipost
ac23.10.2010 07:16
shajtan пишет: но вот заставить его рассказать фильтру, что у него есть не-спам, это гораздо сложнее.

Наоборот это проще, потому что для этого ничего не надо делать. Если пользователь работает через IMAP, и если он ведет там какие-то папки с архивами, то он уже регулярно рассказывает фильтру, что у него есть не-спам. А вот спам он скорее просто удалит, чем отправит в папку spam, поэтому тут нужна спец.разъяснительная работа (или тоже не нужна, если вы опасаетесь, что пользователь будет отправлять в спам то, что ему не нравится, а не то, что и в самом деле спам в обычном понимании). А по факту удаления сервер не может догадаться — спам удаляется или просто что-то временное/ненужное.

Для обучения антиспама на текущем письме с помощью фильтра нужно в поле "Выполнить" указать "Выполнить команды" с параметрами:
CURRENT-FILE S" spam" PopFileAddToBucket

(PopFileAddToBucket работает в E4 через acFilter, а не с PopFile, т.е. обучает все подключенные к нему антиспамы, не обязательно именно PopFile).
wikipost
ac23.10.2010 07:30
А если не само текущее письмо является спамом, а спам был переслан в нем аттачем (отвечаю на вопрос ili_a), то немного по-другому, с предварительным извлечением аттача, как-то так:

RANDOM-ID S" 2" MSG_MP @ GetMimePart 2OVER WFILE S" spam" PopFileAddToBucket


Но я никогда не рекомендовал этот метод, т.к. при пересылке часто теряются заголовки, особенности форматирования, т.е. письмо предстает перед антиспамом не совсем "как живое". Да и пользователи должны быть особо самоотверженными, чтобы выполнять регулярно, добровольно и точно такую процедуру пересылки спама аттачами на заданный email. Я бы точно не смог , поэтому и другим не советую. В IMAP'е куда проще.
wikipost
Работает на Eserv/5.05555 (05.06.2016)