18

私たちは、損傷検査 (保険市場) に関する情報を追跡および収集することを主な目標として、モジュールを開発しています。各ケースにはコードがあります (例: L000525)。各ケースは、複数の人によって管理される可能性があります。特定のケースに関連するすべてのメールには、件名にケース コードが含まれています。

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

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

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

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

私たちは Exchange の世界では新しいので、Exchange のなりすましを考えていますが、まったく確信が持てません。このモジュールは、Silverlight 3、WCF、SQL Server + Exchange 2007 で開発されています。

4

2 に答える 2

61

EWS への接続に使用される資格情報がユーザーのメールボックスにアクセスする権利を持っている場合、次のようなことができるはずです。

var service = new ExchangeService();
service.Credentials = new WebCredentials("user_with_access@example.com", "password");
service.AutodiscoverUrl("a_valid_user@example.com");

var userMailbox = new Mailbox("target_user@example.com");
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の答え!

于 2011-03-10T18:03:04.480 に答える
1

@smcintosh が上記で行ったことの完全な動作例は次のとおりです: Office365 API - 別のユーザー/ルームのカレンダー イベントにアクセスする管理者。これは、コンパイルして実行し、会議室のリソース カレンダーにアクセスする完全な Java クラスです。幸運を!

于 2016-08-19T15:01:36.423 に答える