【问题标题】:how to access my yahoo or gmail account in outlook (c#)?如何在 Outlook (c#) 中访问我的 yahoo 或 gmail 帐户?
【发布时间】:2013-08-21 19:09:48
【问题描述】:

我有 3 个数据文件:

  1. Outlook 数据文件(为空)
  2. Gmail 数据文件(来自我的 gmail pop3)
  3. 雅虎数据文件(来自我的雅虎 imap)

我可以使用 这段代码:

Outlook.MAPIFolder inBox = (Outlook.MAPIFolder)this.Application.
     ActiveExplorer().Session.GetDefaultFolder
     (Outlook.OlDefaultFolders.olFolderInbox);

我有两个问题:

  1. 如何让我的 gmail 和 yahoo 帐户自动移动到我的 Outlook 数据文件?
  2. 如何通过代码访问我的 gmail 和 yahoo 帐户中的收件箱?

我已尝试使用此功能返回我的 MAPIFolder:

public Outlook.MAPIFolder GetInbox(string userName)
    {
        Outlook.Application oOutlook = new Outlook.Application();
        Outlook.NameSpace oNs = oOutlook.GetNamespace("MAPI");
        Outlook.Recipient oRep = oNs.CreateRecipient(userName);
        Outlook.MAPIFolder inbox = oNs.GetSharedDefaultFolder(oRep, Outlook.OlDefaultFolders.olFolderInbox);
        return inbox;
    }

但它没有用。请帮帮我..

【问题讨论】:

    标签: c# email outlook add-in mapi


    【解决方案1】:

    我不确定我是否理解您的第一个问题,您想将所有数据文件加入到主 Outlook 数据文件中吗?

    关于您的第二个问题,Outlook 数据文件由 API 中的存储表示,如果您在 Session 对象上调用 GetDefaultFolder,您将始终获得默认存储的默认文件夹(Outlook 数据文件的收件箱) .

    您可以列出所有存储文件并在它们上使用 GetDefaultFolder 来检索每个存储/数据文件的收件箱文件夹:

    Outlook.Stores stores = this.Appliction.Session.Stores;
    foreach( Store store in stores )
    {
       Outlook.Folder inboxOfStore = store.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);
    
       //Do stuff with your inbox folder.. Check store properties for infomation on which data file this store represents
    }
    

    有关详细信息,请参阅文档:

    http://msdn.microsoft.com/en-us/library/office/bb176405%28v=office.12%29.aspx

    【讨论】:

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