读取Exchange的用户未读邮件数的几种方法

http://www.cnblogs.com/nbpowerboy/p/3539422.html

可以使用ExchangeServiceBinding获取邮件,他相当于outlook, 来获取服务器的未接受的邮件.

至于 “该帐户无权模拟所请求的用户 ” ,是由于在exchange服务器上面没有配置模拟账户.

需要在Exchange Management Shell上执行: New-ManagementRoleAssignment –Name:impersonationAssignmentName –Role:ApplicationImpersonation –User:administrator

见: Configuring Exchange Impersonation:http://msdn.microsoft.com/en-us/library/bb204095.aspx

设置后, 就不会有该帐户无权模拟所请求的用户问题了。

 public static int GetUnReadMailCountByUserMailAddress(string UserMailAddress)
        {
            int unRead = 0;
            string url = "https://{0}/ews/exchange.asmx";
            url = string.Format(url, m_ExchangeMachine);
            try
            {
                ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2010_SP1);
                service.Credentials = new NetworkCredential(m_ServerUser, m_Password, m_Domain);
                service.Url = new Uri(url);
                service.ImpersonatedUserId = new ImpersonatedUserId(ConnectingIdType.SmtpAddress, UserMailAddress);
                unRead = Folder.Bind(service,WellKnownFolderName.Inbox).UnreadCount;
                
            }
            catch (Exception ex)
            {
                return unRead;
                throw;
            }
            return unRead;
        }

 

转载于:https://www.cnblogs.com/kennyliu/p/3771298.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值