2012-02-14 10 views
3

誰でも私にアクセスできるすべてのメールボックスを取得する方法の.NET(C#/ VB)サンプルを私に提供できますか?EWS(Exchange WebServices)経由ですべてのメールボックスを取得する - 私自身ではなく、共有およびグループのメールボックスでもあります

私はOWNメールボックスをEWS経由で取得することができました.Outlookを介して他のメールボックスにアクセスできるわけではありません。

私はこれらのメールボックスの名前もIDも持っていませんが、自分のものを含め、すべてのメールボックスを取得することはできません。

私はこのようなメールボックスを取得するために自動検出を使用しています:service.AutodiscoverUrl("[email protected]") - これはおそらく自分のメールボックスを取得し、残りのすべてを取得することはありませんか?

助けてください!

+0

'Autodiscover'にのみ適用され - それは、メールボックスへのアクセスや解像度とは何の関係もありません。どのメールボックスにアクセス権があるかについて、Outlookはどのようにして知っていますか?Outlookを追加しましたか? – SliverNinja

答えて

2

この問題を回避する方法は、問題のグループメールボックスを「メールボックス」オブジェクトとして定義し、特定のフォルダのFolderIDを取得することでした。

  1. フォルダID(この場合は、受信トレイ)

    FolderId gpInbox = new FolderId(WellKnownFolderName.Inbox, gpmailbox); 
    
  2. 通常のコードで使用フォルダID(この場合には私は取得

    Mailbox gpmailbox = new Mailbox("[email protected]"); 
    
  3. メールボックスオブジェクトを定義します。 100メッセージを取得する)

    ItemView view = new ItemView(100);   
    FindItemsResults<Item> results = hookToServer.FindItems(new FolderId(WellKnownFolderName.Inbox, gpmailbox), view); 
    

重要なのは、必要なフォルダのFolderIDを取得することです。お役に立てれば。

編集:私のオブジェクト "hookToServer"は単なるExchangeServiceオブジェクトであることにも注意しませんでした。ここで私はそれを定義した方法は次のとおりです。

 ExchangeService hookToServer = new ExchangeService(ExchangeVersion.Exchange2010_SP1); 
     hookToServer.UseDefaultCredentials = true; 
     hookToServer.Url = new Uri("TheExchangeServer") 

私も参考に、これを使用する:あなたの交換のホストを見つけるの話をするとき EWS 2007 Group Mailbox Guide

関連する問題