我正在尝试从交换中删除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",它可以正常工作......
所以我的问题是:如何在vbs中传递Delete_hard_delete标志? 这甚至可能吗?
作为替代方案,我还可以使用其他编程语言和/或兑换
更新: 它适用于Redemption ...默认情况下,Redemption会传递该Flag。
了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
答案 0 :(得分:1)
赎回通过RDOExchangeMailboxStore.Rules集合公开规则。
如果要使用DELETE_HARD_DELETE标志,RDOMail.Delete将使用可选参数(redDeleteFlags)。其中一个枚举值是dfHardDelete(2)。