我正嘗試使用EWS訪問進程郵箱。對於一些自動化查詢,我們創建了一個genric進程郵箱。我想通過觀看「進程」收件箱來解析電子郵件。使用EWS訪問通用進程收件箱
我的代碼早期與舊的交換服務器一起工作。但遷移到Office 365後失敗。
我能夠使用我的憑據訪問我的郵箱並在Office 365上解析。
如何訪問此進程郵箱?之前,我創建一個ExchangeService並使用UseDefaultCredentials = true連接到過程電子郵件地址。
我設置了AutoDiscoverURl並使用了DefaultCredentials。但是當我嘗試閱讀電子郵件時,我收到「SMTP地址沒有與之關聯的郵箱」。
編輯: 我試圖用我自己的憑據,而不是默認憑據。
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);
我得到異常「SMTP地址沒有與之關聯的郵箱」
回答了這個解決訪問郵箱的第一部分。我能夠訪問但不能枚舉郵件項目。 –
您可以通過[email protected]登錄到OWA嗎?你可以打開跟蹤並顯示ExchangeService.AutodiscoverUrl調用的結果嗎?您不必在Office 365中使用自動發現功能,但它可以提供一些有關此處發生的事情的信息。 –
如果我使用我的憑證,我可以在瀏覽器上看到Process Inbox和我自己的憑證。爲什麼FIndItems失敗是我無法理解的.. –