【问题标题】:Read and Restore additional mailboxes list using C# in Outlook在 Outlook 中使用 C# 读取和还原其他邮箱列表
【发布时间】:2012-07-23 22:46:01
【问题描述】:

是否可以使用 C# Outlook API 读取“附加邮箱”列表?

列表位于outlook中的以下窗口中:

工具 > 帐户设置 > 电子邮件 > 选择帐户 > 更改... > 在“Microsoft Exchange 服务器设置”选项卡上,选择“更多设置...” 在“Microsoft Exchange Server”上,添加附加邮箱,选择“高级”选项卡。 在此选项卡中,所有其他邮箱都列在“打开这些额外邮箱”标签下的列表框中。

我必须使用 C# 代码备份和恢复此列表。

我可以使用 Outlook 互操作库来做到这一点吗?

提前感谢您的回答。

【问题讨论】:

    标签: c# api outlook


    【解决方案1】:

    我找到了读取所有邮箱的方法: 下面是代码示例:

    using System;
    using Microsoft.Office.Interop.Outlook;
    
    class Program
    {
        static void Main(string[] args)
        {
            var oApp = new Application();
    
            var oNS = oApp.GetNamespace("MAPI");
    
            Stores stores = oNS.Stores;
    
            foreach (Store store in stores)
            {
                Console.WriteLine("Name: {0} \n Path: {1} \n Type: {2} \n IsDataFileStore: {3}", 
                                    store.DisplayName, store.FilePath, store.ExchangeStoreType, store.IsDataFileStore);
    
                Console.WriteLine(Environment.NewLine);
            }
    
            Console.WriteLine("Done");
            Console.ReadKey();
        }
    }
    

    新问题是如何使用 C# 恢复那些邮箱? :)

    【讨论】:

      【解决方案2】:

      您可以使用Session.StoresOutlook 互操作)访问其他共享邮箱。请参阅此related SO post,其中包含示例代码 sn-p。

      【讨论】:

      • 非常感谢..在我的回答中我发现了类似的方式..这是否意味着“olExchangeMailbox”类型的邮箱是附加邮箱?
      • 有不同的Store 类型(参见ExchangeStoreType)。 olExchangeMailbox 是共享 Exchange 邮箱。
      • 我想使用 c# 代码备份这些信息并在我的应用程序中再次恢复。可能吗?我试图序列化存储对象,但是存储类不可序列化。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-05-30
      • 2012-03-24
      • 1970-01-01
      • 2018-05-10
      • 2012-09-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多