Чтение зашифрованной электронной почты S/Mime с помощью Outlook OOM или выкупа RDO

Вот моя попытка:

Outlook.Application app = new Outlook.Application();
RDOSession session = new RDOSession();
session.MAPIOBJECT = app.Session.MAPIOBJECT;
RDOFolder inbox = session.GetDefaultFolder(rdoDefaultFolders.olFolderInbox);
RDOItems items = inbox.Items;
RDOMail mail = items.GetFirst();
if (mail.MessageClass == "IPM.Note.SMIME") {
    RDOEncryptedMessage encryptedMessage = (RDOEncryptedMessage)session.GetMessageFromID(mail.EntryID)
    // from here I am stuck because encryptedMessage is null
}

Что я делаю неправильно?

1 ответ

Зачем звонишь GetMessageFromID вместо того, чтобы читать почту RDOEncryptedMessage? Вы действительно получаете зашифрованное сообщение от Items.GetFirst? Не ожидайте получить самое первое сообщение, которое вы видите в Outlook - вы не сортируете коллекцию элементов и, скорее всего, GetFirst вернет самое старое сообщение в папке, а не самое верхнее сообщение, которое вы видите в проводнике Outlook.

Другие вопросы по тегам