读取Exchange的用户未读邮件数3种办法
生活随笔
收集整理的這篇文章主要介紹了
读取Exchange的用户未读邮件数3种办法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、開通IMAP服務,采用IMAP方法讀取,需要提供用戶和密碼
IMAP_Client imap = new IMAP_Client();//鏈接imap.Connect(server, port, ssl); //賬戶需要加上后綴名稱,組合成"username@bzy.com"格式 // account = string.Format("{0}{1}", account,ExchangeManageConfig.ExchangeDomail); //驗證賬戶imap.Authenticate(account, password);2、采用EWS讀取郵件,默認取當前用戶的登錄認證方式(或提供用戶和密碼)
//// TODO: 在此處添加構造函數邏輯//實例化對象_esb = new ExchangeServiceBinding();//授權-默認權限ICredentials creds = System.Net.CredentialCache.DefaultNetworkCredentials;_esb.Credentials = creds;/設置webservice的URL_esb.Url = ExchangeManageConfig.ExchangeWebUrl;3、采用EWS API方式。授權一個賬戶有模擬其他用戶的權限
?
1.安裝 Exchange Web Services Managed API,當前版本1.1 2.授權一個賬戶有模擬其他用戶的權限,打開Exchange 2010 服務器在命令行中輸入New-ManagementRoleAssignment -Name:impersonationAssignmentName -Role:ApplicationImpersonation -User:serviceAccount serviceAccount:就是我們要模擬其他人的賬戶protected void Page_Load(object sender, EventArgs e){EwsConfig config = new EwsConfig();config.ExchangeVersion=ExchangeVersion.Exchange2010_SP1;config.EWSServiceUrl="https://********/EWS/exchange.asmx";config.ExchangeAdministrator = "<UserName>";config.ExchangeAdministratorPassword = "<PWD>";config.DomainName = "<domainName>";config.OtherUserName = "<otherUserName>";//下面這句屏蔽服務器證書驗證,防止頁面報“根據驗證過程,遠程證書無效”的錯誤 ServicePointManager.ServerCertificateValidationCallback =delegate(Object obj, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors) { return true; };ExchangeService service = new ExchangeService(config.ExchangeVersion);service.Credentials = new NetworkCredential(config.ExchangeAdministrator, config.ExchangeAdministratorPassword, config.DomainName); service.Url = new Uri(config.EWSServiceUrl);//前提打開Exchange 2010服務器在命令行中輸入: //New-ManagementRoleAssignment -Name:impersonationAssignmentName -Role:ApplicationImpersonation -User:<UserName>service.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.PrincipalName, config.OtherUserName);int unRead=Folder.Bind(service, WellKnownFolderName.Inbox).UnreadCount;HttpContext.Current.Response.Write(config.OtherUserName+"未讀郵件數:"+unRead);}public struct EwsConfig{public ExchangeVersion ExchangeVersion;public string EWSServiceUrl;public string ExchangeAdministrator;public string ExchangeAdministratorPassword;public string DomainName;public string OtherUserName;}?
總結
以上是生活随笔為你收集整理的读取Exchange的用户未读邮件数3种办法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Oracle中shrink space命
- 下一篇: CentOS 查看块设备命令lsblk详