で共有メールボックス/特定のフォルダにアクセスする私は、サービスアカウントの下で動作する償還(MS Exchangeのライブラリ)を使用してコードの既存の部分を変換しています。私が抱えている問題は、以前のようにメールフォルダを検索できないということです。Outlookの償還ライブラリ - サービスアカウント
サービスアカウントへの移行の最初のハードルはへ
_rdoSession.Logon() // <- Which uses the account’s MAPI profile, and throws an exception under a service account
を切り替えることによって克服された。問題は、特定のフォルダにアクセスしようとしているが付属しています
_rdoSession.LogonExchangeMailbox("", "mailserver.example.com");
。以前、私が使用することができた:私はエラーを取得するように、サービスアカウントの下で
_session.GetFolderFromPath("\\\\Mailbox - Example shared mailbox\\Inbox\\FolderOne");
_session.GetFolderFromPath("\\\\Mailbox - Example shared mailbox\\Inbox\\FolderTwo");
、私は、同じ構文で共有メールアカウントに対処することはできません。
Could not open store "Mailbox – Example shared mailbox": Error in IMAPITable.FindRow: MAPI_E_NOT_FOUND
いくつかのグーグルが示されています
_session.Stores.GetSharedMailbox("Example shared mailbox ")
これが正しい共有メールボックスオブジェクトを返すことを確認しました。
しかし - そこから、何の検索方法はありません。私は.RootFolderプロパティからフォルダ構造をナビゲートするための新しいコードをビルドして、私の運を試すことができますが、これはハックのように思えます。
は、どのように私は償還のサービスアカウントで実行共有メールボックス内の特定のフォルダにアクセスする必要がありますか?あなたはどちらか
店= _session.Stores.GetSharedMailbox( "例共有メールボックス")を使用することができます