【问题标题】:Accessing 2nd exchange inbox from Outlook 2013 using VSTO使用 VSTO 从 Outlook 2013 访问第二个交换收件箱
【发布时间】:2015-03-14 05:59:50
【问题描述】:

获取默认收件箱的工作方式如下:

_outlookNameSpace = this.Application.GetNamespace("MAPI");
_inbox = _outlookNameSpace.GetDefaultFolder(Microsoft.Office.Interop.Outlook.OlDefaultFolders.olFolderInbox);

现在在同一行中,如何让另一个交换帐户的收件箱说“abc@corp.com”?

提前致谢。

【问题讨论】:

    标签: c# outlook vsto outlook-addin


    【解决方案1】:

    假设第二个邮箱已经在配置文件中,您需要在 Namespace.Stores 集合中找到相应的帐户并调用 Store.GetDefaultFolder。

    否则你可以调用 Namespace.GetSharedDefaultFolder。

    【讨论】:

      【解决方案2】:

      我有类似的情况,第二个帐户由其 .DisplayName 属性标识,该属性可以在帐户设置中设置。要查找帐户,请使用:

      var account = Globals.Addin.Application.GetNamespace("MAPI")
                      .Accounts.Cast<Account>()
                      .FirstOrDefault(a => a.DisplayName == "TargetDisplayName");
      

      然后使用 Account.DeliveryStore 访问商店并找到文件夹。 .GetDefaultFolder 为您提供文件夹:

      DraftsFolder = (Folder) account.DeliveryStore.GetDefaultFolder(OlDefaultFolders.olFolderDrafts);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-10
        • 1970-01-01
        • 1970-01-01
        • 2016-09-28
        • 2015-02-08
        • 2015-08-31
        相关资源
        最近更新 更多