【问题标题】:Outlook Redemption library - Accessing shared mailboxes / specific folders with a service accountOutlook Redemption 库 - 使用服务帐户访问共享邮箱/特定文件夹
【发布时间】:2012-03-02 10:28:48
【问题描述】:

我正在使用 Redemption(一个 MS Exchange 库)转换现有代码,以便在服务帐户下运行。我遇到的问题是我无法像以前那样查找邮件文件夹。

切换到服务帐户的第一个障碍通过切换克服了

_rdoSession.Logon() // <- Which uses the account’s MAPI profile, and throws an exception under a service account 

收件人:

_rdoSession.LogonExchangeMailbox("", "mailserver.example.com"); 

问题在于尝试访问特定文件夹。以前我可以使用:

_session.GetFolderFromPath("\\\\Mailbox - Example shared mailbox\\Inbox\\FolderOne"); 
_session.GetFolderFromPath("\\\\Mailbox - Example shared mailbox\\Inbox\\FolderTwo"); 

在服务帐户下,我无法使用相同的语法处理共享邮件帐户,因为我收到错误消息:

Could not open store "Mailbox – Example shared mailbox": Error in IMAPITable.FindRow: MAPI_E_NOT_FOUND 

一些谷歌搜索显示开始步骤是使用:

_session.Stores.GetSharedMailbox("Example shared mailbox ")

我已经验证这会返回正确的共享邮箱对象。

然而 - 从那里,没有搜索方法。我可以尝试构建新代码以从 .RootFolder 属性导航文件夹结构,但这似乎是一种 hack。

我应该如何访问共享邮箱中的特定文件夹,在 Redemption 的服务帐户下运行?

【问题讨论】:

    标签: c# exchange-server outlook-redemption


    【解决方案1】:

    你可以使用任何一个

    store = _session.Stores.GetSharedMailbox("示例共享邮箱");

    文件夹 = store.IPMRootFolder.Folders.Item("收件箱").Folders.Item("FolderTwo");

    store = _session.Stores.GetSharedMailbox("示例共享邮箱");

    文件夹 = store.GetDefaultFolder(olFolderInbox).Folders.Item("FolderTwo");

    【讨论】:

      猜你喜欢
      • 2018-11-20
      • 1970-01-01
      • 2016-09-28
      • 1970-01-01
      • 2012-11-04
      • 1970-01-01
      • 2022-05-24
      • 2023-03-11
      • 2019-03-09
      相关资源
      最近更新 更多