当我尝试使用 EWS API 发送电子邮件时,出现以下错误:(in message.Send();
)
The request failed. The remote server returned an error: (401) Unauthorized.
我的代码如下:
ExchangeService exchangeService = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
//WebService Uri
try
{
exchangeService.Url = new Uri("https://exchangeserver/ews/exchange.asmx");
}
catch (Exception ex)
{
throw new Exception(string.Format("WebService Uri:" + ex));
}
//Credentials
try
{
exchangeService.Credentials = new WebCredentials("user@domain", "pwd", "domain");
}
catch (Exception ex)
{
throw new Exception(string.Format("Credentials:" + ex));
}
//Send a mail
try
{
EmailMessage message = new EmailMessage(exchangeService);
message.Subject = "Test";
message.Body = "Test";
message.ToRecipients.Add("destination@domain");
message.Save();
message.Send();
}
catch (Exception ex)
{
throw ex;
}
我阅读了本网站上有关此问题的其他帖子,但它们无法解决我的问题。
最佳答案
尝试改变这个:
exchangeService.Credentials = new WebCredentials("user@domain", "pwd", "domain");
进入这个:
exchangeService.Credentials = new WebCredentials("user", "pwd", "domain");
有时,登录凭据取决于 Exchange/Active Directory 的配置方式。 可以是 user@domain 或 domain\user
关于c# - Exchange Web 服务 API 和 401 未授权异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13517323/