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

Eserv Forum / E3 / Eserv 3 Mail Server Support / Antispam LibSD. Не получается переклассифировать по http

imported // (v1)
Продукты и услуги Скачать Документация Купить Поддержка Форумы Партнёрам Статьи О компании
Новости
12.10.2009
Переезд завершен
Добрый день!
Стоит Eserv 3.34
Первый раз настраиваю антиспам. Почитал документацию и форум.
Подключил только Libsd.
Завел пользователей spam_lover и popfile_admin
Почта начала классифицироваться — часть писем попадает в папку спам и поступает в ящик spam_lover.

У меня возникло несколько вопросов по переклассификации почты (при ложных срабатываниях)

  1. Отправителю письма, считающегося спамом приходит уведомление типа 550 Your message is classified as SPAM! If this an error, please contact error@Mydomen.ru or click here: http://Mydomen.ru:3140/MailClassify/user@domen2.ru!42!8706359!2.eml
  2. Но даже заходя локально на машину, на которой установлен есерв по http://192.168.0.238:3140/MailClassify/user@domen2.ru!42!8706359!2.eml выдается пустая страница с Forbidden. Подскажите где можно покопать чтобы получалось проталкивать письма?
  1. Практически все пользователи используют для приема почты Pop3
  2. Добавил в ToEmailRobots.txt строку"spam_ll@Mydomen.ru";1;"smtp\robots\MailClassify\RunRobot";1;"Mail classification robot"Правильно ли я понимаю что если пользователь получит спамовое письмо, прошедшее сквозь фильтр, то для обучения фильтра достаточно будет переслать данное письмо как вложение с темой «spam» и фильтр дообучится? Как это можно проверить?
  1. Иногда администратору нужно будет переклассифицировать письмо из spam_lover как неспамовое. Из документации вроде понял что достаточно завести в spam_lover папки not_spam и при перетаскивании туда письма должна производиться переклассификация и перекладка письма в ящик адресата.
    1. 1 Где нужно создавать папки not_spam и spam внутри папки inbox или на одном уровне с ней?
    2. 2 Вроде пробовал и так и так и при перекладывании в ящике spam_lover письмо адресату не попадает. Где можно поковырять чтобы происходило "доучивание" и переброска Пробовал перебрасывать в spam и not_spam для других ящиков понял, что переклассификация писем происходит (т.к. при повторной отправке такого же письма другому пользователю домена письмо уже не считается спамом)
Заранее спасибо за помощь.
 
Комментарии к этой версии (09.06.2008 07:56) [~Hachak Alexey] d6a537d2
АвторДатаТекстtags
pig09.06.2008 10:56
  1. Это ещё не PigMail? Тогда затрудняюсь... скорее всего, какой-то конфликт с пользовательскими настройками. Вы conf\http\OnRequest.rules.txt правили под себя?
  1. Да, фильтр должен дообучиться. Результат смотреть в DATA\log\imap\{YYYYMM}rc.txt
  1. 1. Лучше на одном уровне
  2. 2. Если в письме не сохранился адресат (а читателю спама, по-моему, именно в таком виде они и попадают — или раньше попадали, это переделывалось, но не помню, везде ли), то письмо не доставится. Будет лежать в DATA\mail\out\127.0.0.1\25\
imported
Hachak Alexey09.06.2008 21:35
  1. Пока нет (купии но еще не поставили)
  2. Содержимое вроде не менялось-вот сам файл

( $Id: OnRequest.rules.txt,v 1.40 2007/11/10 03:30:48 ac Exp $
    DocumentRoot задает каталог, файлы из которого будут выдаваться
    веб-сервером в том случае, если иные каталоги не были заданы настройкой
    виртуальных серверов.
    Путь в DocumentRoot задается абсолютный, например D:\IntetPub,
    \\computer\share\path или относительно каталога веб-сервера,
    как wwwroot в настройке по умолчанию.
)

\ 353 LOG
\ uCgiDebug ON
\ Port= 3141 | EvalRules: HTTP/XulAdmin \EOF

Uri /secure/*
[IF]
    URI?P MLEN @ — 0 MAX SWAP MLEN @ + SWAP SetUri
    URI?P " {Http[AdminUser]}:{Http[AdminPass]}" STR@ DUP MLEN ! SEARCH
    [IF] MLEN @ /STRING SetUri Http[AdminUser] Http[AdminPass] SetUser -2 UID !
    [ELSE] 2DROP Unauthorized Proxy-control-interface \EOF [THEN]
[THEN]

DocumentRoot: {HTTP[DocumentRoot]}

BitrixSitemanager[UseSM] >NUM | DocumentRoot: {BitrixSitemanager[DocumentRoot]}

Uri MailClassify/* | DocumentRoot: ..\CommonPlugins\plugins\popfile\web Replace /
Uri *XXXXXXXXXXXXXXXXXXXXXX* | Forbidden \EOF

\ Port= 80 | DocumentRoot: wwwroot

User NIP 0= | EvalRules: IpMacAuth

Port= {Http[AdminPort]} Port= {Http[AdminSslPort]} OR | EvalRules: http\AdminOnRequest1
Uri /my/* | EvalRules: http\MyOnRequest1

HTTP[Active] >NUM 0= | DocumentRoot: {HTTP[DocumentRoot]}\tempdown

Port= {Http[Port]} Port= {Http[SslPort]} OR | EvalRulesIfExists: http\CustomOnRequest

DirectoryNotfound: index.php index.f 404.php download.php index.e

( DirectoryIndex задает последовательность поиска индексных файлов в
    каталоге для случая, когда имя файла не задано, а задан только каталог.
)
DirectoryIndex: index.f index.html index.htm index.php3 index.php index.phtml index.cgi default.htm index.fxml index.e index.ew

\ FILENAME TYPE CR
( Примеры назначения других корневых каталогов в зависимости от
    значений заголовков HTTP-запроса.
)
\ Host: ~ ac* | DocumentRoot: ac\wwwroot
\ Accept-Language: ~ *ru* | DocumentRoot: ac\wwwroot\ru
\ Host: ~ * | DocumentRoot: c:\eserv2\wwwroot
\ Uri /admin/* | DocumentRoot: c:\eserv2\wwwroot
\ CR Cookie: STR@ TYPE CR
\ Uri /phpmyadmin* | VirtualRoot: C:\PRO\my-web\phpmyadmin\
\ Uri /progs/* | Replace /download/
\ Uri /download/* | Redirect http://www.nncron.ru{URI}

( Способ авторизации — имя файла или слова, реализующего вариант обработки
    запроса LoginUser
)
\ AuthMethod: AuthFile
\ AuthMethod: NtLogon
\ AuthMethod: AuthDomainsDebug
\ LOGIN
\ User =~ admin | Pass =~ admin_pass | TRUE UID !

User NIP UID @ -2 <> AND
[IF]
    Port= {Http[AdminPort]} Port= {Http[AdminSslPort]} OR Uri /my/* 0= AND
    [IF]
        Http[AdminUser] NIP 0= Http[AdminPass] NIP 0= OR
        [IF]
TRUE UID ! DocumentRoot: {HTTP[AdminDocumentRoot]}\setpass DirectoryIndex: index.f
        [ELSE] Http[AdminPass] NIP 32 <> | Http[AdminPass] MD5 S" Http[AdminPass]" IniS!
UID @ | Pass NIP 0= | UID 0! Unauthorized Proxy-control-interface \EOF \ админу IP-авторизацию не дадим
User= {Http[AdminUser]} PassMD5= {Http[AdminPass]} AND UID !
UID @ 0= | TRUE UID ! DocumentRoot: {HTTP[AdminDocumentRoot]}\wrongpass DirectoryIndex: index.f
        [THEN]
    [ELSE]
        UID @ 0= | AuthMethod: AuthDomains LOGIN
    [THEN]
[THEN]

\ разрешим обращение к спискам по макроименам
Uri *}* | UID @ | Port= {Http[AdminPort]} Port= {Http[AdminSslPort]} OR | URI?P S@ URI-DECODE S@ 11 — 0 MAX SWAP 11 + SWAP 2DUP \>/ Redirect " /main/{s}"

( Назначение выдаваемого сервером поля Content-Type в зависимости от
    расширения файла.
)
File *.gif | ContentType image/gif
File *.css | ContentType text/css
File *.html | ContentType text/html
File *.htm | ContentType text/html
File *.shtml | ContentType text/html
File *.xml | ContentType text/xml
File *.xsl | ContentType text/xml
File *.xslt | ContentType text/xml
File *.xul | ContentType application/vnd.mozilla.xul+xml
File *.txt | ContentType text/plain
File *.jpg | ContentType image/jpeg
File *.png | ContentType image/png
File *.zip | ContentType application/zip
File *.rar | ContentType application/x-compressed
File *.log | ContentType text/plain
File *.key | ContentType application/octet-stream
File *.exe | ContentType application/octet-stream
File *.doc | ContentType application/octet-stream
File *.hta | ContentType application/hta
File *.svg | ContentType image/svg+xml
File *.ics | ContentType text/calendar
File *.wml | ContentType text/vnd.wap.wml
Uri *DATA/temp/*.log | ContentType text/xml

( Если клиент работает не обычными HTTP-методами, а WebDAV-методами,
    то назначение обычных CGI-обработчиков нужно исключить, и заодно
    проверить права доступа к DAV.
)
ACTION =~ Dav*
[IF] EvalRules: HTTP/DAV [ELSE] EvalRules: HTTP/CGI [THEN]

( Если Uri в запросе не заканчивается на "/", но соответсвующий
    ресурс на сервере является не файлом, а каталогом — производится
    редирект на Uri с "/" в конце. Это необходимо для правильной
    обработки ссылок браузером.
)
FILENAME IsDirectory FILENAME + 1- C@ CHAR \ <> AND | Redirect {URI}/

( Правила для звонилки )
[DEFINED] Dial [IF] EvalRules: HTTP/Dial [THEN]

Port= {Http[AdminPort]} Port= {Http[AdminSslPort]} OR | EvalRules: http\AdminOnRequest2
Uri /my/* | EvalRules: http\MyOnRequest2

\ Port= {Http[AdminPort]} 0= | Uri /admin/* | UID @ 0= | Unauthorized "Web Admin"

( Базовая проверка прав доступа. Безусловное закрытие Uri,
    содержащих ".." для предотвращения выхода на вышележащие каталоги
)
Uri *..* | Forbidden
Uri *::$* | Forbidden
  1. Точно — согласно логам все работает — спасибо!
  2. 1 — оки
  3. 2 у меня сейчас в каталоге mail\spam в письмах первая строка
  4. For: user_my_domen@mydomen.ru в папке DATA\mail\out\127.0.0.1\25\ ничего нет это вродезначит что переклассификации spam_lover по imap сообщение должно перемещаться в папку user_my_domen@mydomen.ru?
imported
Hachak Alexey09.06.2008 21:53
В логе http в момент подключения по ссылке
http://192.168.0.238:3140/MailClassify/user@domen2.ru@!42!8706359!2.eml появляется файл
403_200806.log
192.168.0.238 LAN_1 Alexey [9/Jun/2008:22:50:17 +0400] "GET /MailClassify/user@domen2.ru@!42!8706359!2.eml HTTP/1.1" 403 116 "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)" 192.168.0.238:3140 "ru"
imported
Hachak Alexey09.06.2008 22:02
я так понял, что 403- это доступ к старинице запрещен. на всякий случай выложу источник авторизации он один
Eserv auth_md5 {Auth[UserList]} {Auth[GroupList]}
imported
pig09.06.2008 23:15
Секрет гирь раскрыт. Фишка в том, что 3140 — это порт для интерфейса администратора. И настройки этого интерфейса по ходу дела перебивают выставленные было настройки для переклассификатора. Я это понимаю так. Правда, никак не вижу, откуда берётся именно Forbidden, но точно знаю, что корень сайта при этом сбивается, и классификатор не будет работать.
В стандартной конфигурации он не может жить на одном порту с интерфейсом администратора. Не предусмотрено такое.

Теперь по внутренней пересылке от имени spam_lover. Попытка перепосылки письма происходит при перетаскивании его из папки spam в любую папку, кроме удалённых (Trash) и отправленных (Sent). И делается это простым перемещением письма в DATA\mail\out\127.0.0.1\25\. Раз там ничего нет — значит, агент письмо подхватил и запихал на вход acSMTP — значит, надо смотреть его прохождение в логах acSMTP.
imported
Hachak Alexey10.06.2008 01:36
по поводу 3140 — в точку! Спасибо огромное — у меня прямо гора с плеч Поставил на 3100 и все заработало!

Сейчас поразбираюсь со spam-lover
imported
Работает на Eserv/5.05567 (10.02.2020)