Я пытаюсь удалить OOF-правила с биржи. Ниже приведен скрипт vbs.
Set objsession = CreateObject("MAPI.session")
objsession.Logon "", "", False, False, 0, True, server & vbLf & mailbox
Set objInbox = objsession.Inbox
Set objHidden = objInbox.HiddenMessages
For i= 1 To objHidden.Count
Set objRule = objHidden.Item(i)
...Validation if the item actually is an oof-rule...
objRule .Item(i).Delete
Это прекрасно работает для некоторых правил. Однако в большинстве случаев я получаю сообщение об ошибке в последней строке: "MAPI_W_PARTIAL_COMPLETION(40680)"
Я попробовал то же самое в MFCMAPI и получил то же сообщение об ошибке при простом удалении правила. Однако, если я выбрал «Постоянное удаление с передачей DELETE_HARD_DELETE», все работает нормально...
поэтому мой вопрос: как я могу передать этот флаг Delete_hard_delete в vbs? Это вообще возможно?
В качестве альтернативы я мог бы также использовать другой язык программирования и/или выкуп
Обновление: это работает с Redemption... Похоже, что Redemption пропускает этот флаг по умолчанию.
Vbs-код:
Const olFolderInbox = 6
set Session = CreateObject("Redemption.RDOSession")
Session.LogonHostedExchangeMailbox _
"targetmailbox", _
"user", _
"password"
set Rules = Session.Stores.DefaultStore.Rules
for each Rule in Rules
Rule.Delete
next