注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

忘忧草的博客

品味人生--精通IT管理和技术

 
 
 

日志

 
 
 
 

读取Exchange的用户未读邮件数3种办法  

2012-12-25 15:43:56|  分类: Moss2010 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

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;         }

?

  评论这张
 
阅读(569)| 评论(0)
推荐

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017