Показано с 1 по 10 из 11

Тема: Выборочное скачивание по получателю

  1. #1
    colonia
    colonia вне форума
    Участник
    Регистрация
    07.07.2003
    Сообщений
    28

    Выборочное скачивание по получателю

    Кто-нибудь может объяснить почему регулярное выражение типа : (?ims)(^to\?!.*?user\@domen\.ru))
    выкачивает с сервера не только письма адресованные конкретному получателю, но и другие получателю не адресованные ?
    Другие фильтры по полю from или subject работают безупречно.


  2. #2
    akiselev
    akiselev вне форума
    Участник
    Регистрация
    02.11.2002
    Сообщений
    796

    Re:Выборочное скачивание по получателю

    Я бы убрал для начала (?s), возможно, user@domen.ru -- где-то дальше в хедерах, в другой совсем строке, а не в to: А вообще -- дайте такое "ошибочное" письмо со всеми хедерами, будем разбираться…

  3. #3
    Jocular
    Jocular вне форума
    Участник
    Регистрация
    21.10.2003
    Сообщений
    11

    Re:Выборочное скачивание по получателю

    Цитата Сообщение от colonia
    Кто-нибудь может объяснить почему регулярное выражение типа : (?ims)(^to\?!.*?user\@domen\.ru))
    выкачивает с сервера не только письма адресованные конкретному получателю, но и другие получателю не адресованные ?
    Другие фильтры по полю from или subject работают безупречно.
    Это он реагирует на Reply-To: так что в регексп нужно добавить перед To: \n, или как там с переносом строки, я еще не очень разобрался. Или с заглядыванием неазад по отрицанию, что бы там '-' не было.

    Позже редактирую:

    Блин, я еще с регекспами не разобрался толком, но, мне кажется что баг не там где я раньше подумал немного, а в другом, но по сути ошибка та же. '.*?' Нужно сделать что бы в эту часть регекспа не попадали переносы строки. Те точку нужно менять там на что то типа [\s<\w]*?

  4. #4
    akiselev
    akiselev вне форума
    Участник
    Регистрация
    02.11.2002
    Сообщений
    796

    Re:Выборочное скачивание по получателю

    Так я и сказал: переносы строки попадают из-за (?sm) (комбинации двух этих), см. хелп по регекспам. А ^ перед to: в регекспе вполне выполняет ту функцию, что Вы хотели…

  5. #5
    Jocular
    Jocular вне форума
    Участник
    Регистрация
    21.10.2003
    Сообщений
    11

    Re:Выборочное скачивание по получателю

    Цитата Сообщение от Alexander Kiselev
    Так я и сказал: переносы строки попадают из-за (?sm) (комбинации двух этих), см. хелп по регекспам. А ^ перед to: в регекспе вполне выполняет ту функцию, что Вы хотели…
    А что вообще s и m делают конкретно? Я вот прсото в хелпе из книги по перлу читаю:
    m - считать строку многострочной.
    s - однострочная строка.
    Но мне это, если чесно, не о чем не говорит.

    И я думал, что ^ - это именно начало всей строки, а подстрок начала - это переносы строки те \n, а конец тогда тоже может ровнятся и $ и \n? Странно как то.

  6. #6
    colonia
    colonia вне форума
    Участник
    Регистрация
    07.07.2003
    Сообщений
    28

    Re:Выборочное скачивание по получателю

    Потому как, ничего из предложенного не работает, даю пример заголовка :
    Return-Path: <uwxqh5xwzdf2s@lll.com>
    Received: from dsl-200-67-185-132.prodigy.net.mx
    (dsl-200-67-185-172.prodigy.net.mx [200.67.185.172])
    by alpha.provider.ru (8.12.9/8.12.9) with SMTP id
    h9R54Qld020216
    for <info@domen.ru>; Mon, 27 Oct 2003 08:04:31
    +0300 (MSK)
    (envelope-from uwxqh5xwzdf2s@lll.com)
    Message-Id: <200310270504.h9R54Qld020216@alpha.domen.ru>
    From: =?koi8-r?B?8NJvxGHNIOJh2tkg5MHOztnI?=
    <uwxqh5xwzdf2s@lll.com>
    To: mtpdwjy <mtpdwjy@domen.ru>
    Subject:
    =?koi8-r?B?8NJvxGHNIOJh2tkg5GHOztnIICAgICAgICAgICAgICAgIC AgICAgICAgICAgICAgICAgICAgICAg?=

    =?koi8-r?B?ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC AgINTS1M/EyiDF19jFzyDO1dTTyg==?=
    =?koi8-r?B??=
    Date: Mon, 27 Oct 2003 08:04:54 +0400
    Reply-To: uwxqh5xwzdf2s@lll.com
    Mime-Version: 1.0
    Content-Type: text/html; charset="koi8-r"
    X-Mailer: Microsoft Outlook Express 6.00.2600.0000
    X-Priority: 1
    X-MSMail-Priority: High
    X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000

    Данное письмо адресовано просто на мой домен (domen) имя пользователя - случайный набор символов и тем не менее оно прошло фильтр по получателю.
    Еще хотел бы обратить внимание что те же фильтры по теме или по отправителю работают безупречно.
    Может это глюк БАТа ? (у меня версия 1.62r)

  7. #7
    akiselev
    akiselev вне форума
    Участник
    Регистрация
    02.11.2002
    Сообщений
    796

    Re:Выборочное скачивание по получателю

    Ну так и в чем, собственно, проблема? Создаем тестовую папку, задаем на нее шаблон ответа такого, к примеру, вида:

    %SetPattRegExp='(?ims)(^to\?!.*?\@domen\.ru))'
    %RegExpBlindMatch='%Headers'
    1=%SubPatt='1'
    2=%SubPatt='2'
    3=%SubPatt='3'

    , запихиваем это письмо в эту папку и смотрим, что получается при попытке ответить на это письмо. У меня получается, что на этом письме регексп НЕ срабатывает, чего, собственно, и хотелось. То бишь, казалось бы, всё в порядке и всё работает. Огласите результаты Ваших тестов по предложенной методике.

  8. #8
    colonia
    colonia вне форума
    Участник
    Регистрация
    07.07.2003
    Сообщений
    28

    Re:Выборочное скачивание по получателю

    Результат собственно имеет след. вид :

    1= To:
    2=
    3=

    Для меня результат не понятен. Причем реагирует так, на все испытываемые письма и результат одинаковый. ???


  9. #9
    akiselev
    akiselev вне форума
    Участник
    Регистрация
    02.11.2002
    Сообщений
    796

    Re:Выборочное скачивание по получателю

    Будьте любезны, в таком случае приведите тот регексп, который Вы используете в выборочном скачивании, _в_точности_ (кстати, тест надо было делать именно с ним, а не с тем шаблоном, который я привел ниже), и пристегните одно из тех писем, на которых Ваш фильтр выборочного скачивания обломился, в точности, в формате msg.

    Непонятный Вам результат на самом деле совершенно понятен: на всех испытанных Вами письмах регексп нашел match, и вернул то, что и должен был вернуть. Соответственно, данный конкретный регексп, используй Вы его в фильтре выборочного скачивания, приведет к тому, что Бат письмо качать не будет.

  10. #10
    colonia
    colonia вне форума
    Участник
    Регистрация
    07.07.2003
    Сообщений
    28

    Re:Выборочное скачивание по получателю

    Для того, чтобы работать с письмами на сервере не скачивая я использую комбинацию регэспов вида :
    (?ims)(^from\?!.*?\user1@domen1\.ru)(?!.*?user2@domen2\.ru))
    (?ims)(^subject\?!.*?ЗАГОЛОВОК))

    по теме и отправителю работает безупречно,
    но как только добавляю однотипный фильтр по получателю:
    (?ims)(^to\?!.*?\user1@domen1\.ru)(?!.*?user2@domen2\.ru))

    начинаю получать кучу мусора. Почему - не понимаю ???

Похожие темы

  1. выборочное скачивание
    от Robin_Bobin в разделе The Bat!: вопросы и ответы
    Ответов: 7
    Последнее сообщение: 10.01.2006, 07:24
  2. Выборочное скачивание
    от Kirion в разделе Антиспам плагин BayesIt
    Ответов: 19
    Последнее сообщение: 03.03.2005, 07:01
  3. Выборочное скачивание
    от mmv в разделе The Bat!: вопросы и ответы
    Ответов: 2
    Последнее сообщение: 04.12.2002, 16:12
  4. Выборочное скачивание
    от htmlmail в разделе Архив первого форума
    Ответов: 3
    Последнее сообщение: 25.09.2002, 12:01