独自のメールボックスを持たない専用ユーザーを使用して、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 メールボックスにアクセスするにはどうすればよいですか?