2009-10-23 12 views
15

主な目標は、損害調査(保険市場)に関する情報を追跡して収集することです。各ケースにはコード(例:L000525)があります。それぞれのケースは複数の人によって管理される可能性があります。特定のケースに関連するすべての電子メールには、件名にケースコードが含まれています。EWS APIを使用して異なるユーザーのメールボックスを検索する

私たちがしたいことは、それぞれの特定のケースに関連した着信メールと送信メールを収集して表示することです。

ユーザーは、「ケース管理」ウィンドウを開いて特定のケースを選択してから、関連するすべての情報(もちろん電子メールを含む)を取得することができます。

約20人のユーザーのメールボックスに電子メールを見つける必要があります。したがって、質問は次のとおりです。

  • これを行うより良い方法はどれですか?それは多くの時間とリソースを消費するでしょうか?

私たちはExchangeの世界では新しいので、Exchangeの偽装を考えていますが、わかりません。モジュールは、EWSへの接続に使用する資格情報は、ユーザーのメールボックスにアクセスする権利を持っているなら、あなたはこのような何かを行うことができるはずのSilverlight 3、WCF、SQL Serverの+取引所2007

答えて

45

で開発されています

var service = new ExchangeService(); 
service.Credentials = new WebCredentials("[email protected]", "password"); 
service.AutodiscoverUrl("[email protected]"); 

var userMailbox = new Mailbox("[email protected]"); 
var folderId = new FolderId(WellKnownFolderName.Inbox, userMailbox); 

var itemView = new ItemView(20); // page size 
var userItems = service.FindItems(folderId, itemView); 

foreach (var item in userItems) 
{ 
    // do something with item (nb: it might not be a message) 
} 

それだけです。うわー、私の最初のSO答え!

+0

これは間違いなく私を助けました。 1回のログインから共有カレンダーからすべての予定のリストを取得する必要がありました。私のログインのために各カレンダーの "レビュー担当者"のアクセス許可を設定すると同時に、これが必要でした。 – cmptrgeekken

+0

Exchange 2013(Office 365)では、ユーザーは少なくとも「完全詳細」のアクセス許可が必要です。 LimitedまたはAvailability Onlyは動作しません。 – harsimranb

+1

クラスはFolderIDではなくFolderIDと呼ばれ、残りは正常に機能しました。どうも! –

関連する問題