我们希望使用没有自己邮箱的专用用户通过 EWS(Exchange Web 服务)访问邮箱。
目标是涵盖所有 Exchange Server 版本 2007-2019。
我们希望有一个没有邮箱的专用用户的原因:我们希望通过软件分析 Exchange Server 中的所有邮箱。但因此我们并不真正需要用户甚至邮箱。该软件仅对邮箱内的数据感兴趣。
我们使用Independentsoft的 API 访问 EWS:
var lCredential = new NetworkCredential("ADUserWithNoMailbox", "Password");
m_Service = new Service("https://hostname/EWS/Exchange.asmx", lCredential);
try
{
FindFolderResponse lResponse = m_Service.FindFolder(StandardFolder.MailboxRoot);
// [...]
}
catch (Exception e)
{
// cast in into multiple expected types
var lServiceRequestException = e as Independentsoft.Exchange.ServiceRequestException;
if (lServiceRequestException.ResponseCode == "ErrorNonExistentMailbox")
{
// lServiceRequestException.Message shows: "No mailbox with such guid."
// [...]
}
// [...]
throw;
}
我们ADUserWithNoMailbox
在 Active Directory 中的用户没有邮箱。因此,消息出现异常:
"No mailbox with such guid."
问题:当用户没有自己的邮箱时,如何通过EWS访问exchange邮箱?