使用交换 Web 服务和 windows 身份验证连接到 Exchange 服务器
Connecting to an Exchange Server using exchange webservice and windows authentication
我处于需要使用以下信息连接到 Exchange 服务器的情况。
服务器URL
电子邮件地址
用户名
密码
在理想情况下,我会提供电子邮件和密码,并使用自动发现进行连接,但是,客户端没有启用自动发现,出于安全原因我无法获得密码。目前我所做的是 运行 我的 windows 服务与 windows 帐户有权连接到邮箱,如:
NetworkCredential credentials = CredentialCache.DefaultNetworkCredentials;
_service.Url = new Uri(_serverURL);
_service.Credentials = credentials;
问题在于,如果 windows 帐户关联了多个邮箱,它将连接到它找到的第一个邮箱。我希望能够连接到我指定的邮箱。这可能吗?
该对象实际上并未连接到邮箱,并且在作为其 SOAP 服务的 EWS 中没有持久连接。 ExchangeService 对象保存连接信息,因此当您发出 FindFolder、Bind 等请求时,它保存要使用的 EWS 端点和凭据。
如果您想访问另一个邮箱(除了您在服务对象中指定的安全凭证的邮箱),那么您只需使用 FolderId 对象的邮箱重载,例如。
FolderId RootFolder = new FolderId(WellKnownFolderName.MsgFolderRoot, "MailboxtoAccess@domain.com");
我处于需要使用以下信息连接到 Exchange 服务器的情况。
服务器URL 电子邮件地址 用户名 密码
在理想情况下,我会提供电子邮件和密码,并使用自动发现进行连接,但是,客户端没有启用自动发现,出于安全原因我无法获得密码。目前我所做的是 运行 我的 windows 服务与 windows 帐户有权连接到邮箱,如:
NetworkCredential credentials = CredentialCache.DefaultNetworkCredentials;
_service.Url = new Uri(_serverURL);
_service.Credentials = credentials;
问题在于,如果 windows 帐户关联了多个邮箱,它将连接到它找到的第一个邮箱。我希望能够连接到我指定的邮箱。这可能吗?
该对象实际上并未连接到邮箱,并且在作为其 SOAP 服务的 EWS 中没有持久连接。 ExchangeService 对象保存连接信息,因此当您发出 FindFolder、Bind 等请求时,它保存要使用的 EWS 端点和凭据。
如果您想访问另一个邮箱(除了您在服务对象中指定的安全凭证的邮箱),那么您只需使用 FolderId 对象的邮箱重载,例如。
FolderId RootFolder = new FolderId(WellKnownFolderName.MsgFolderRoot, "MailboxtoAccess@domain.com");