我的团队有一个网站,可以自动将报告发送到通讯组列表。我们使用Exchange Service API对象来完成此操作,直到上周六它运行良好。
不过,几天前它停止工作了。我们的调查表明,失败的组件是ExchangeService.AutodiscoverUrl()
呼叫。
它现在引发以下错误:
找不到自动发现服务
一些进一步的调查从https://testconnectivity.microsoft.com/的自动发现和Exchange ActiveSync测试中发现了以下内容:
在主机autodiscover.microsoft.com上测试TCP端口443,以确保其正在侦听并打开。 指定的端口被阻止,未监听或未产生预期的响应。
https://ping.eu/port-chk/确认autodiscover.microsoft.com:443端口已关闭。
这是调用自动发现的代码
private readonly ExchangeService exchangeServiceClient = new ExchangeService();
...
public void CreateEmailMessage(string email, string password)
{
if (exchangeServiceClient != null)
{
try
{
exchangeServiceClient.Credentials = new WebCredentials(email, password, domain);
exchangeServiceClient.AutodiscoverUrl(email, RedirectionCallback);
emailMsg = new EmailMessage(exchangeServiceClient);
}
catch (Exception e)
{
// Fast fail
Logger.Error(e.ToString(), e);
throw;
}
}
}
为确认这一点,我们这方面绝对没有任何改变,并且直到几天前,此代码仍能正常运行。