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

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

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

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

Авто сохранение вложений из входящих писем на сетевой диск

Wanderstep

Lotus Team
23.03.2006
493
65
BIT
17
Наверное, плохо искал, но не удалось найти здесь подходящей темы с решением...
Нашел код по сохранению вложений:
Код:
Sub Initialize 
Dim session As New NotesSession 
Dim db As NotesDatabase 
Dim doc As NotesDocument 
Dim dc As NotesDocumentCollection 
Dim rtitem As Variant 
Dim attachname As String 
Dim filename As String 
Dim body As NotesRichTextItem 
Dim emphasize As NotesRichTextStyle 

Set db = session.CurrentDatabase 
Set dc = db.UnprocessedDocuments 
Set doc = dc.GetFirstDocument 
Set rtitem = doc.GetFirstItem( "Body" ) 

If ( rtitem.Type = RICHTEXT ) Then 
Forall obj In rtitem.EmbeddedObjects 
If ( obj.Type = EMBED_ATTACHMENT ) Then 
Set emphasize = session.CreateRichTextStyle 
emphasize.Bold = True 
emphasize.NotesColor = COLOR_RED 
Set body = doc.GetFirstItem("Body") 
Call rtitem.AddNewLine( 2 ) 
Call body.AppendStyle(emphasize)		 
attachname = obj.source 
Call obj.ExtractFile
( "\\
QDSWJDE1AMstarUnProcessed\" 
& attachname ) 

Call rtitem.AddNewLine( 2 ) 
Call rtitem.AppendText(( "Your file was 
downloaded to\
\QDSWJDE1AMstarUnProcessed 
as filename: " ) & 
attachname) 
Call doc.Save( False, True ) 

End If 
End Forall 
End If 
End Sub
Для теста строчку Call obj.ExtractFile ( "\\QDSWJDE1AMstarUnProcessed\"& attachname ) заменил на Call obj.ExtractFile ( "C:\App\"& attachname )
Обнаружил, что агент на сервере не выполняет требуемые действия. Запустил ручками агент из Дизайнера (Run) - выдало ошибку Type Mismatch. Пропустил через дебаггер - ошибка выдается на строке:
Forall obj In rtitem.EmbeddedObjects

1й вопрос: что не так в этом коде?
2й вопрос: может есть у кого рабочий скрипт для агента по расписанию для авто сохранения аттачментов на сет.диске?
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Для: Wanderer
Сначала надо проверить есть ли вложение:
If Not Isempty(rtitem.EmbeddedObjects) Then ...
 
O

Omh

Для: Wanderer
Ну и allow restricted operations, если ожидается агент по расписанию...
 

Wanderstep

Lotus Team
23.03.2006
493
65
BIT
17
Спасибо за подсказку. Добавил проверку на наличие вложения, добавил цикл перебора всех отобранных документов (а то отрабатывало только первый док) - все работает.
 
Мы в соцсетях:

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