我处于需要使用以下信息连接到Exchange服务器的情况。
服务器URL电子邮件地址用户名密码
在理想情况下,我应该提供电子邮件和密码,并使用自动发现进行连接,但是,客户端没有启用自动发现,出于安全原因,我无法获得密码。目前我所做的是使用windows帐户运行我的windows服务,该帐户具有连接到邮箱的权限,如下所示:
NetworkCredential credentials = CredentialCache.DefaultNetworkCredentials;
_service.Url = new Uri(_serverURL);
_service.Credentials = credentials;
这样做的问题是,如果windows帐户有多个邮箱与之关联,它将连接到它找到的第一个邮箱。我希望能够连接到我指定的邮箱。这个是可能的吗?
发布于 2020-12-03 22:40:24
该对象实际上并不连接到邮箱,并且在EWS中,作为其SOAP服务,没有持久连接。EWS对象保存连接信息,因此当您发出FindFolder、Bind等请求时,它会保存要使用的ExchangeService端点和凭据。
如果你想访问另一个邮箱(不是你在服务对象中指定的安全凭证的邮箱),那么你只需要使用FolderId对象的邮箱重载,例如。
FolderId RootFolder = new FolderId(WellKnownFolderName.MsgFolderRoot, "MailboxtoAccess@domain.com");
https://stackoverflow.com/questions/65125433
复制