Чтение зашифрованной электронной почты 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.