2

ヘルプ、リンク、または考えは大歓迎です。ありがとう!

全体目標

Exchange 2013 で特定のフォールドにクエリを実行して各メッセージの本文を読み取り、自動化されたアラートから情報を収集して csv ファイルに書き込むにはどうすればよいですか?

わからない具体的な質問

特定のフォルダを照会するにはどうすればよいですか?

問題

受信トレイを検索する方法の例しか見つかりません。そのステートメントを特定のフォルダーに変更する必要があります。

問題が存在する現在のコード セクション

 try
            {
                //read the subject line of the 10 most recently recieved emails in the inbox
                FindItemsResults<Item> findResults = service.FindItems(WellKnownFolderName.Inbox, new ItemView(10));
                foreach (Item item in findResults.Items)
                {
                    Console.WriteLine(item.Subject);
                }
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message.ToString());
                Console.ReadLine();
            }
            Console.ReadLine();

発行ライン

FindItemsResults<Item> findResults = service.FindItems(WellKnownFolderName.Inbox, new ItemView(10));
4

2 に答える 2

2
try
{
    //create searchable object called rootfolder and set root to equal Inbox
    Folder rootfolder = Folder.Bind(service, WellKnownFolderName.Inbox);
    //foreach child folder inside Ibox
    foreach (Folder folder in rootfolder.FindFolders(new FolderView(100)))
    {
        //if the child folder is named hey
        if (folder.DisplayName.Contains("hey"))
        {
            //create searchable object of child of root but now is root to be searched within folder and set it as root folder
            Folder childfolder = Folder.Bind(service, folder.Id);
            //foreach childfolder to new root
            foreach (Folder cfolder in childfolder.FindFolders(new FolderView(100)))
            {
                //if child folder is blah then search items
                if (cfolder.DisplayName.Contains("blah"))
                {
                    //create searchable object of blah folder and set it as root folder
                    FindItemsResults<Item> blah = service.FindItems(cfolder.Id, new ItemView(10));
                    //this will load all the extra properites for each email (SUCH AS BODY)
                    service.LoadPropertiesForItems(from Item item in blah select item, PropertySet.FirstClassProperties);
                    foreach (Item item in blah.Items)
                    {
                       //Console.WriteLine(item.DateTimeReceived + "\n\t" + item.Body);
                        Console.WriteLine(item.Subject);
                        Console.WriteLine("\t"+item.DateTimeReceived);
                        Console.WriteLine("\t" + item.Body.Text.ToString());
                    }
                }
            }
        }
    }


}
catch (Exception e)
{
    Console.WriteLine(e.Message.ToString());
}
Console.ReadLine();
于 2013-07-08T21:05:27.280 に答える