0

独自のメールボックスを持たない専用ユーザーを使用して、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;
}

ADUserWithNoMailboxActive Directory にいるユーザーにはメールボックスがありません。したがって、例外が発生し、次のメッセージが表示されます。

"No mailbox with such guid."

質問: ユーザーが自分のメールボックスを持っていない場合、EWS 経由で Exchange メールボックスにアクセスするにはどうすればよいですか?

4

1 に答える 1