Запрос на удаление письма из ящиков

Тема в разделе "Lotus - Администрирование", создана пользователем Wanderer, 13 июл 2006.

  1. Wanderer

    Wanderer Lotus team
    Lotus team

    Регистрация:
    23 мар 2006
    Сообщения:
    367
    Симпатии:
    13
    Есть ли такая функция на сервере Domino, с возможностью отправки административного запроса по письму от конкретного адресата с конкретной темой, чтобы сервер нашел такие письма по заданным критериям в ящиках пользователей и удалил их?

    или есть какие-либо агенты или скрипты, выполняющие сие действие?
     
  2. Elena Nefedova

    Elena Nefedova Гость

    Есть FTSearch: открываешь - ищешь - удаляешь.
    Или прогарммируешь тот же FTSearch - в цикле по ящикам.
    Все зависит от соотношения время/кол-во ящиков
     
  3. Wanderer

    Wanderer Lotus team
    Lotus team

    Регистрация:
    23 мар 2006
    Сообщения:
    367
    Симпатии:
    13
    Я так понял, речь идет о методе FTSearch, применяя который можно написать свой агент?
    А есть ли какое готовое решение?

    Может ли кто по шагам подсказать, как осуществить поиск и удаление письма из баз по критерию - отправитель? Сделать уже нужно сейчас и времени на детальные разбирательства нет, увы. :/
     
  4. Elena Nefedova

    Elena Nefedova Гость

    Если есть возможность обновить дизайн почтовых ящиков, то надо быстро слепить вьюху, которая дает нужное письмо. Затем по всем ящикам в цикле взять все документы из этой вьюхи в коллекцию и удалить.
    Если нельзя обновить ящики, то можно использовать db.Search с формулой отбора коллекции. И тоже удалить. НО этот вариант может надолго подвесить почтовые базы, и посыпятся вопли в логи о том, что FTSearch применяется к неиндексированным базам
     
  5. Wanderer

    Wanderer Lotus team
    Lotus team

    Регистрация:
    23 мар 2006
    Сообщения:
    367
    Симпатии:
    13
    Спасибо, Елена, за оперативный ответ.. Буду думать, как выбираться из данной ситуации..
     
  6. Elena Nefedova

    Elena Nefedova Гость

    Вот что надо использовать:
    Код (Text):
    Set dbdir = notesSession.GetDbDirectory( serverName$ )
    Set db = dbdir.GetFirstDatabase(DATABASE)
    Set db = dbdir.GetNextDatabase  ' - в цикле

    Set View = db.GetView( viewName$ )

    далее в зависимости от построения вьюхи
    - либо set col = View.GetAllDocumentsByKey( keyArray , TRUE )
    - либо Set doc = View.GetFirstDocument и Set doc = View.GetNextDocument(doc) '- ясно, с проверкой Nothing
    Кстати, Андрей, по поводу вьюхи - если первый столбец сделать категоризированный, а величину там указать, например, "1", то все документы вьюхи как раз и получатся в коллекцию:
    Код (Text):
    set col = View.GetAllDocumentsByKey( "1" , TRUE )
    Потом уже можно удалять
    Код (Text):
    Call call.RemoveAll( true)
    Главное - правильно подобрать формулу SELECT для вьюхи.
     
Загрузка...

Поделиться этой страницей