• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Удалить письма с определенной темой

k85

Lotus Team
11.10.2011
260
1
BIT
0
Необходимо удалить все письма с определенной темой как у всех пользователей, которым письмо отправили, так и у всех , кому его переслали + если переслали, то удалить и из отправленных
Код:
Sub Initialize
Dim DbDir As New NotesDbDirectory("название сервера")
Dim TmpDb As NotesDatabase
Set TmpDb = DbDir.GetFirstDatabase(TEMPLATE_CANDIDATE)
While Not TmpDb Is Nothing
On Error Resume Next
Call TmpDb.Open("", "")
If TmpDb.IsOpen Then
 
Dim collection As NotesDocumentCollection
Namesubj="тест, который отправлен мне! "
Set collection = TmpDb.Search({(Subject="} & Namesubj &  {")}  Or  {") & (Subject="} & "Fw: " & Namesubj &  {")} Or  {") & (Subject="} & "На: " & Namesubj &  {")} Or  {") & (Subject="} & ">>: " & Namesubj &  {")} ,  Nothing,0)
 
If collection.Count > 0 Then
Set maildoc = collection.GetFirstDocument
Do Until maildoc Is Nothing
Set nextDoc = collection.GetNextDocument(maildoc)
Call maildoc.RemovePermanently(True)
 
Set maildoc= nextDoc
Loop
 
End If
 
End If
Set TmpDb = DbDir.GetNextDatabase
Wend
 
End Sub

запускаю от админа с фулл правами. Даже если у пользователя 100% нет письма он переходит
Set maildoc = collection.GetFirstDocument
Do Until maildoc Is Nothing
...
 
Последнее редактирование модератором:

savl

Lotus Team
28.10.2011
2 597
310
BIT
181
@k85, формулу корректно для поиска задайте, она неверная:
попробуйте эту: {@Contains(Subject;"} & Namesubj &{")}
 
B

Baneslaer

Лень искать ошибку в формуле, но посоветовал бы еще добавить в формулу промежуток дат. С какого по какое число искать такие письма. Кроме того для контроля, создал бы простую базейку, в которой создавал доки с инфой сколько найдено писем в базе и сколько удалено. Такое помогает при отслеживании различных ошибок.
 

ToxaRat

Чёрный маг
Green Team
06.11.2007
3 332
42
BIT
0
да уж красавцы, достаточно одно слово общее указать чтобы всем наполовину ПЯ опустошить :)
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!