我正在使用Redemption处理Outlook添加,它必须将电子邮件从我的Outlook收件箱移动到指定的文件夹。 它工作正常,直到它为本地邮箱。 当我尝试在共享邮箱上执行相同操作时,从我的Outlook中它不起作用。 在我的Outlook上的含义我访问共享邮箱并尝试将邮件从共享邮箱“收件箱”移动到共享邮箱本身的文件夹。
我使用下面的代码。
oTempFolder = oRDOSession.GetSharedMailbox("mailbox name")
它抛出以下错误: System.InvalidCastException:无法将“Redemption.RDOStoreClass”类型的COM对象强制转换为接口类型“Redemption.RDOFolder”。此操作失败,因为对IID为“{15B8597F-0A55-4361-AE8B-1F690BC61EE4}”的接口的COM组件的QueryInterface调用由于以下错误而失败:不支持此类接口(HRESULT异常:0x80004002(E_NOINTERFACE))
我也尝试了邮箱名称和邮箱地址,没有任何帮助。
我尝试了下面的代码,在stackoverflow本身上找到了
store = _session.Stores.GetSharedMailbox("Example shared mailbox ");
但它并没有什么不同。
有人可以指导我这个吗?
答案 0 :(得分:1)
经过一些研究和试验后,我找到了上述问题的解决方案。 下面的代码行是它的实际开始。
store = _session.Stores.GetSharedMailbox("Example shared mailbox ");
以下是在您需要查找的共享邮箱中查找文件夹的代码。
Dim Rclass As Redemption.RDOStore
Dim oTempFolders As Redemption.RDOFolders
Dim oTempFolder As Redemption.RDOFolder
Rclass = oRDOSession.Stores.GetSharedMailbox(aFolders(0))
oTempFolders = Rclass.IPMRootFolder.Folders
For i = 1 To oTempFolders.Count
oTempFolder2 = oTempFolders.Item(i)
If oTempFolder2.Name.ToLower = "folder name" Then
oTempFolder = oTempFolder2
Exit For
End If
Next
希望这可以帮助那些遇到这个问题的人。