Exchange Web Service API and 401 unauthorized exception

前端 未结 3 2050
难免孤独
难免孤独 2020-12-01 18:08

When I try sending email using the EWS API, I get the following error: (in message.Send();)

The request failed. The remote server returne

相关标签:
3条回答
  • 2020-12-01 18:31

    It took me a lot of time to find a solution for the same issue. In my case, I needed to add to the EWS Virtual Directory under the IIS site the list of allowed URL's. Go to the IIS management, click the EWS node, under the Default Web Site, then double-click the Request Filtering. Go to the URL tab, and on the right, click Allow URL. Enter the url's by which you will invoke the service, e.g. example.com/ews/ or server.example.com/ews/

    In addition, related to similar issues, I needed to add all hosts (*) to the winrm trusted host (by default it had only the local IP listed).

    HTH.

    0 讨论(0)
  • 2020-12-01 18:46

    Try changing this:

     exchangeService.Credentials = new WebCredentials("user@domain", "pwd", "domain");
    

    into this:

     exchangeService.Credentials = new WebCredentials("user", "pwd", "domain");
    

    Sometime the Login credentials depends on how Exchange/Active Directory it's configured. It could be user@domain or domain\user

    0 讨论(0)
  • 2020-12-01 18:49

    This issue can cause the two way authentication provide by Microsoft office 365. Better create a app password and pass that instead of outlook password.

    exchangeService.Credentials = new WebCredentials("email", "app-pwd");
    
    0 讨论(0)
提交回复
热议问题