Коллеги, привет.
Помогите написать VBS, т.к. я в нем не силен абсолютно.
Задача: посчитать сколько всего места занимают письма с определенного адресата во всех ящиках
1. Залезать через MAPI в каждый ящик
2. Искать сообщения "от"
3. Получать размер сообщений
4. Проверять, сколько сообщений из найденных прочитано, сколько нет
5. Записывать размер сообщений и количество прочитано\не прочитано в xls/csv
Использовать для этого логичнее Redemption, методом создания папки поиска. Вот нашел код для логина и создания папки
Function ggg()
RES_CONTENT = 3
FL_SUBSTRING = 1
FL_IGNORECASE = &H10000
PR_ORIGINAL_SENDER_EMAIL_ADDRESS = &H67001E
Set SessionR = CreateObject("Redemption.RDOSession")
'set objFolder = CreateObject("Redemption.RDOFolder")
'set oItem = CreateObject("Redemption.RDOMail")
SessionR.LogonExchangeMailbox "email@domain.ru", "servername"
'create new search folder
'Session.Logon
Set DefaultStore = SessionR.Stores.DefaultStore
Set SearchRootFolder = DefaultStore.SearchRootFolder
Set newsearchfolder = SearchRootFolder.Folders.AddSearchFolder("SEARCHX")
'set the restriction to search for message with the word "test" in the subject line
Set Restriction = newsearchfolder.SearchCriteria.SetKind(RES_CONTENT)
Restriction.ulFuzzyLevel = FL_SUBSTRING Or FL_IGNORECASE
Restriction.ulPropTag = PR_ORIGINAL_SENDER_EMAIL_ADDRESS
Restriction.lpProp = "emailfrom@domain.ru"
'specify that the search should be performed in the Inbox and Sent Items folders
newsearchfolder.SearchContainers.Add (DefaultStore.GetDefaultFolder(6))
newsearchfolder.SearchContainers.Add (DefaultStore.GetDefaultFolder(5))
'specify the search flags
newsearchfolder.IsRecursiveSearch = False
newsearchfolder.IsForegroundSearch = False
'we are all set: set the search parameters and let the fun begin!
newsearchfolder.Start
newsearchfolder.Save
For Each x In newsearchfolder.Items
MsgBox x.Size
Next
End Function
Необходимо делать проверку на наличие уже папки SEARCHX, если она уже есть выполнять процедуру дальше.