2016-04-26 14 views
0

EWSを使用してプロセスメールボックスにアクセスしようとしています。いくつかの自動クエリでは、genricプロセスメールボックスを作成しました。私はProcess Inboxを見て電子メールを解析したいと思う。EWSを使用して汎用プロセス受信トレイにアクセス

私のコードは以前の交換サーバーで以前に動作していました。しかし、オフィス365への移行後、それは失敗する。

私のメールボックスにアクセスし、自分の資格情報を使用してオフィス上で解析することができます。

このプロセスメールボックスにはどのようにアクセスしますか?以前はExchangeServiceを作成し、UseDefaultCredentials = trueでプロセスの電子メールアドレスに接続しました。

私はAutoDiscoverURlを設定し、DefaultCredentialsを使用しました。しかし、私が電子メールを読もうとすると、「SMTPアドレスには関連付けられたメールボックスはありません」と表示されます。

EDIT: デフォルトの資格情報の代わりに自分の資格情報を使用しようとしました。

string smtpaddress = "[email protected]"; 
es.Url = new Uri("https://outlook.office365.com/EWS/Exchange.asmx"); 
es.Credentials = new WebCredentials("myemail", "mypassword"); 
es.AutodiscoverUrl(smtpaddress, RedirectionCallback); 
FolderId SharedMailbox = new FolderId(WellKnownFolderName.Inbox, "[email protected]"); 
Folder sharedInbox = Folder.Bind(es, SharedMailbox); 

この時点で、受信トレイの詳細を含むsharedInboxを確認できます。私は未読メール数などを見ることができます。私は

ItemView itemView = new ItemView(100); 
FindItemsResults<Item> findResults1 = es.FindItems(pqInbox.Id, itemView); 

にアクセスしたときに

は、しかし、私は例外

答えて

0

免責「SMTPアドレスは、それに関連付けられたメールボックスを持っていません」を取得:私はしばらくの間EWSで働いていません。

Office 365の既定の資格情報を使用することはできません。基本資格情報を提供するか、OAuthトークンを使用する必要があります。

アカウントがOffice 365に移行されたことを確認する必要があります.OWAにログインし、URLを調べてオンプレミスサーバーではなくOffice 365を使用していることを確認します。

これは既に回答済みでしたExchange Web Services: UseDefaultCredentials property

+0

これはメールボックスにアクセスする最初の部分を解決しました。私はアクセスすることはできますが、メールアイテムを列挙することはできません。 –

+0

[email protected]でOWAにログインできますか?トレースを有効にして、ExchangeService.AutodiscoverUrl呼び出しの結果を表示できますか? Office 365で自動検出を使用する必要はありませんが、ここで何が起こっているかについてのいくつかの洞察を提供するかもしれません。 –

+0

私の資格情報を使用している場合は、ブラウザ上で自分自身と一緒にプロセス受信トレイを見ることができます。なぜFIndItemsが失敗するのか分かりません。 –

関連する問題