zoukankan      html  css  js  c++  java
  • sharepoint获取exchange邮箱报错:该帐户无权模拟所请求的用户

    现象:

      sharepoint获取exchange邮箱报错:该帐户无权模拟所请求的用户

    处理办法:

    1.Open the Exchange Management Shell
    2.输入: New-ManagementRoleAssignment –Name:impersonationAssignmentName –Role:ApplicationImpersonation –User:administrator 
    administrator就是你要设置的模拟账号,当然你也可以设置其他.
    Configuring Exchange Impersonation:http://msdn.microsoft.com/en-us/library/bb204095.aspx

    获取邮件代码如下:
     protected void Page_Load(object sender, EventArgs e)
            {
                string OtherUserName = @"jindahao";
                string EWSServiceUrl = "https://po-pek.dentsu.com.cn/EWS/Exchange.asmx";
                string ExchangeAdministrator = "exch-Im";
                string ExchangeAdministratorPassword = "dadayuzhou";
                string DomainName = "dentsu.com.cn";
    
                ServicePointManager.ServerCertificateValidationCallback = (obj, certificate, chain, errors) => true;
                Microsoft.Exchange.WebServices.Data.ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
                ICredentials creds = new NetworkCredential(ExchangeAdministrator, ExchangeAdministratorPassword, DomainName);
                service.Credentials = new WebCredentials(creds);
                service.Url = (new Uri(EWSServiceUrl));
    
                service.ImpersonatedUserId = (new ImpersonatedUserId(0, OtherUserName));//模拟账户
                Folder folder = Folder.Bind(service, WellKnownFolderName.Inbox);//Inbox文件夹,不包括子文件夹
                ItemView view = new ItemView(10);
                view.OrderBy.Add(ItemSchema.DateTimeReceived, Microsoft.Exchange.WebServices.Data.SortDirection.Descending);
                foreach (Item item in folder.FindItems(view))
                {
                    if (item is EmailMessage)
                    {
                        EmailMessage message = item as EmailMessage;
    
                        string Subject = message.Subject;
                        DateTime ReceiveDate = message.DateTimeReceived;
                        string Sender = message.From.Name;
                        bool HasAttachment = message.HasAttachments;
                    }
                }
            }
    
    

    金大昊

     
  • 相关阅读:
    Python
    QinQ 技术解析
    TLS/SSL 协议
    TLS/SSL 协议
    TLS/SSL 协议
    排序算法之基本排序算法(冒泡、插入、选择)
    Spring Boot 学习笔记--手写版
    mysql -- collection一对多查询
    mybatis 批量操作增删改查
    easyUI之datagrid绑定后端返回数据的两种方式
  • 原文地址:https://www.cnblogs.com/jindahao/p/3527014.html
Copyright © 2011-2022 走看看