2012-04-06 107 views
0

訪問Outlook Web服務從部署在企業內部網與.NET Web應用程序中:憑證從.NET Web應用程序

<authentication mode="Windows" /> 
<identity impersonate="true" /> 
在web.config

,我需要能夠讓用戶輸入日期和時間以及電子郵件地址,並將日期和時間作爲預約添加到電子郵件地址的日曆中。

爲了讓事情開始我想我會嘗試和訪問郵箱,並得到10封郵件的主題:

ExchangeService myService = new ExchangeService(ExchangeVersion.Exchange2007_SP1); 

myService.Credentials = new WebCredentials("jsmith", "mypassword"); 

myService.AutodiscoverUrl("[email protected]"); 

FindItemsResults<Item> myResults = myService.FindItems(WellKnownFolderName.Inbox, new ItemView(10)); 

哪種作品。我收到了10封電子郵件主題的列表 - 不過,無論我將哪個電子郵件地址作爲AutodiscoverUrl方法的參數 - 我最後10封電子郵件的10個主題總是被返回。我如何訪問Fred Bloggs電子郵件,並且在我完成此操作後訪問他的日曆(這是我實際需要執行的操作)並輸入約會?感謝您的任何幫助

+0

也許增加一些交換標記(例如exchangewebservices)會很有用。 – IvanH 2012-04-06 14:06:08

回答

0

您給出的作爲myService.AutodiscoverUrl參數的電子郵件僅用於查找服務。因此,對於所有電子郵件,您可能會從同一個域名的所有電子郵件獲得相同的服務。要訪問其他用戶收件箱,您需要轉到他們的文件夾(如果您有適當的權利)。

Microsoft.Exchange.WebServices.Data.FolderId _cal = new Microsoft.Exchange.WebServices.Data.FolderId(WellKnownFolderName.Inbox, new Mailbox("[email protected]")); 
Folder rootfolder = Folder.Bind(myService, _cal); 
FindItemsResults<Item> myResults = rootfolder.FindItems(new ItemView(10)); 
+0

我不是100%確定它是否起作用,它是通過閱讀日曆文件夾而不用實際運行它而改編的。 – IvanH 2012-04-06 14:04:47

相關問題