2

我正在使用 Redemption 开发 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 ");

但这并没有什么不同。

有人可以指导我吗?

4

1 回答 1

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

希望这对遇到此问题的人有所帮助。

于 2012-11-21T09:10:51.163 回答