Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在outlook(c#)中访问我的yahoo或gmail帐户?_C#_Email_Outlook_Add In_Mapi - Fatal编程技术网

如何在outlook(c#)中访问我的yahoo或gmail帐户?

如何在outlook(c#)中访问我的yahoo或gmail帐户?,c#,email,outlook,add-in,mapi,C#,Email,Outlook,Add In,Mapi,我有3个数据文件: Outlook数据文件(为空) Gmail数据文件(来自我的Gmail pop3) Yahoo数据文件(来自my Yahoo imap) 我可以使用访问Outlook数据文件收件箱(收件箱总是空的,我不知道如何自动从我的google和yahoo帐户移动到我的Outlook数据文件) 此代码: Outlook.MAPIFolder inBox = (Outlook.MAPIFolder)this.Application. ActiveExplorer().Sessio

我有3个数据文件:

  • Outlook数据文件(为空)
  • Gmail数据文件(来自我的Gmail pop3)
  • Yahoo数据文件(来自my Yahoo imap)
  • 我可以使用访问Outlook数据文件收件箱(收件箱总是空的,我不知道如何自动从我的google和yahoo帐户移动到我的Outlook数据文件) 此代码:

    Outlook.MAPIFolder inBox = (Outlook.MAPIFolder)this.Application.
         ActiveExplorer().Session.GetDefaultFolder
         (Outlook.OlDefaultFolders.olFolderInbox);
    
    我有两个问题:

  • 如何使我的gmail和yahoo帐户自动移动到我的outlook数据文件
  • 如何在我的gmail和yahoo帐户中编码以访问我的收件箱
  • 我已尝试使用此函数返回到我的文件夹:

    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;
        }
    

    但它不起作用。请帮助我..

    我不确定是否理解您的第一个问题,是否要将所有数据文件合并到outlook主数据文件中

    关于第二个问题,Outlook数据文件由API中的存储表示,如果您在会话对象上调用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
    }
    
    有关更多信息,请参阅文档: