如何测试与Exchange Server的连接?

时间:2014-09-29 10:44:45

标签: c# email exchange-server

我正在开发一个使用Exchange API发送电子邮件的C#项目。

到目前为止,我完全能够发送电子邮件,我只想知道如何测试我与Exchange Server的连接。

我需要一个名为TestConnection的方法,在调用时测试与Exchange服务器的连接。这可能吗?

我无法在Exchange API上找到任何可以实现此功能的内容。您可以在下面找到我用来连接和发送电子邮件的部分代码。

ExchangeService service = new ExchangeService();
if (String.IsNullOrEmpty(DomainName))
    service.Credentials = new WebCredentials(FromEmail,Password);
service.Credentials = new WebCredentials(FromEmail, Password, DomainName);
service.AutodiscoverUrl(FromEmail, RedirectionUrlValidationCallback);

//Email Setup
EmailMessage emailMessage = new EmailMessage(service);

//EmailMessageSetting:

emailMessage.Save();
emailMessage.SendAndSaveCopy();

提前致谢!!

1 个答案:

答案 0 :(得分:0)

经过一番挖掘后,我意识到如果连接参数出现问题,service.AutodiscoverUrl会抛出异常。

如果您输入了错误的域名,电子邮件或密码,AutodiscoverUrl将抛出错误。

我在TestConnection方法中所做的是调用AutodiscoverUrl。如果一切正常,此方法将使用Exchange Web服务URL设置ExchangeService.Url属性作为参数的电子邮件,如果电子邮件,密码或域名出现问题则抛出异常。

最后,如果Service.url不为null或为空,则连接测试成功。

PS: 虽然AutodiscoverUrl仅使用电子邮件作为参数,但它也验证了Service.Credentials中的密码。