Получение флага Outlook Out of Office с помощью .NET - PullRequest
3 голосов
/ 20 августа 2009

Моя компания использует Exchange 2003.

Можно ли запросить обмен из кода .NET, чтобы узнать, включен или выключен помощник «Нет на месте»?

1 Ответ

2 голосов
/ 20 августа 2009

Используя библиотеку Outlook Redemption , вы можете получить статус Out of Office следующим образом:

public bool IsOutOfOffice()
{
    var outlook = new Microsoft.Office.Interop.Outlook.Application();
    var rdoSession = new Redemption.RDOSession();
    rdoSession.MAPIOBJECT = outlook.Session.MAPIOBJECT;

    Redemption.RDOOutOfOfficeAssistant OOFA = 
        (_rdoSession.Stores.DefaultStore as Redemption.RDOExchangeMailboxStore).OutOfOfficeAssistant

    return OOFA.OutOfOffice;
}

Чтобы проверить статус другого пользователя, вам нужно получить MAPIOBJECT для его почтового ящика.

...