如何在多个帐户Outlook c#中按路径获取文件夹

时间:2013-02-07 11:19:27

标签: c# winforms visual-studio-2010 outlook

我在outlook中添加了2个帐户,两个单独的pst文件。您将通过以下图片获得清晰的想法:

enter image description here

首先我提示用户从outlook中选择要读取的文件夹,附加图像以便更好地理解:

enter image description here

最后,我在列表中有文件夹路径,与图像中的相同。

现在我只想从这些特定路径阅读电子邮件并发送回复或删除它们,那么我该怎么做?我如何根据路径读取文件夹n这样我获得与之关联的帐户我也可以使用该帐户发送电子邮件。

1 个答案:

答案 0 :(得分:1)

使用以下代码循环遍历所有文件夹,然后将路径与列表中的路径匹配。

CODE:

        OutLook.Application oApp = new OutLook.Application();
        OutLook.NameSpace oNS = (OutLook.NameSpace)oApp.GetNamespace("MAPI");
        oNS.Logon(Missing.Value, Missing.Value, false, true);

        foreach (OutLook.MAPIFolder folder in oNS.Folders)
        {
            string folderName = folder.Name;

            GetFolders(folder);

        }



   public void GetFolders(MAPIFolder folder)
    {
        if (folder.Folders.Count == 0)
        {
            string path = folder.FullFolderPath;


            if (foldersTocheck.Contains(path))
            { 
                //GET EMAILS.....
                foreach (OutLook.MailItem item in folder.Items)
                {
                    Console.WriteLine(item.SenderEmailAddress + " " + item.Subject + "\n" + item.Body);


                }
            }
        }
        else
        {
            foreach (MAPIFolder subFolder in folder.Folders)
            {
                GetFolders(subFolder);
            }
        }
    }