Как сохранить цифровую подпись полученной почты - PullRequest
2 голосов
/ 21 июля 2010

Я пытаюсь сохранить цифровую подпись открытого в данный момент почтового сообщения.

Теперь я понимаю, что Outlook запрещает доступ для шифрования / подписи нового электронного письма программным способом.Здесь я сосредоточен на сообщениях, которые были получены.

Пока я могу использовать свойство MessageClass для обнаружения подписанного электронного письма.

Function GetCurrentItem() As Object
    Dim objApp As Outlook.Application

    Set objApp = CreateObject("Outlook.Application")
    On Error Resume Next
    Select Case TypeName(objApp.ActiveWindow)
        Case "Explorer"
            Set GetCurrentItem = objApp.ActiveExplorer.Selection.Item(1)
        Case "Inspector"
            Set GetCurrentItem = objApp.ActiveInspector.CurrentItem
        Case Else
            ' anything else will result in an error, which is
            ' why we have the error handler above
    End Select

    Set objApp = Nothing
End Function

Sub DoExport()
    Set CurrentItem = GetCurrentItem()
    If CurrentItem.MessageClass = "IPM.Note.SMIME.MultipartSigned" Then
        MsgBox CurrentItem.MessageClass 
    End If
End Sub

1 Ответ

0 голосов
/ 16 октября 2013

Класс сообщений всегда выглядит как «IPM.Note» даже на зашифрованной и подписанной почте.
Я использую этот код, чтобы прочитать, кто подписал почту.
Set PropertyAccessor = mailitem.PropertyAccessor<br> If PropertyAccessor.GetProperty("http://schemas.microsoft.com/mapi/id/{00020328-0000-0000-C000-000000000046}/9104001f") <> "" Then<br> END<br> End If

...