Как распознать и передать по зашифрованной электронной почте в VBA Outlook - PullRequest
0 голосов
/ 07 июля 2019

Я обрабатываю (зацикливаю) электронные письма в моих папках с помощью процедуры vba.если письмо зашифровано, я получаю сообщение об ошибке

image Blockquote ">

Я хочу просто игнорировать зашифрованные письма для своей обработки. Я мог бы сделать«по ошибке продолжить», но я бы предпочел

if IsEncrypted(mailitem) then
    skip and go to next mailitem
end if

Кто-нибудь может мне помочь с этим?

Ответы [ 2 ]

0 голосов
/ 07 июля 2019

Вы можете проверить значение свойства PR_SECURITY_FLAGS.

    Const PR_SECURITY_FLAGS = "http://schemas.microsoft.com/mapi/proptag/0x6E010003"
    Const SECFLAG_ENCRYPTED As Long = &H1    

    Dim SecFlags As Long

    ' Get current flags value
    SecFlags = oItem.PropertyAccessor.GetProperty(PR_SECURITY_FLAGS)

Подробнее об этом читайте в Как программно подписать или зашифровать сообщение из статьи OOM .

Помните, что сторонние надстройки могут шифровать сообщения без изменения класса сообщений или флагов безопасности.Они будут выглядеть как обычное письмо.В этом случае вам придется проанализировать тело сообщения, чтобы обнаружить его.

0 голосов
/ 07 июля 2019

Нашел это. любой mailitem имеет свойство .MessageClass, которое в случае моих зашифрованных писем - «IPM.Note.SMIME». просто проверка на эту строку точно отвечает на мой вопрос

...