如何在vba Outlook中识别并传递加密的电子邮件

时间:2019-07-07 12:45:07

标签: vba encryption outlook mailitem

我使用vba过程处理(循环)文件夹中的电子邮件。如果电子邮件被加密,我会收到错误消息

> Blockquote

我只想忽略加密的电子邮件以进行处理。我可以做“错误继续”,但是我更喜欢一些

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

有人可以帮我吗?

2 个答案:

答案 0 :(得分:0)

找到了。任何mailitem都具有.MessageClass属性,就我的加密电子邮件而言,该属性为“ IPM.Note.SMIME”。只需检查此字符串即可准确回答我的问题

答案 1 :(得分:0)

您可以检查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)

How to sign or encrypt a message programmatically from OOM文章中了解有关此内容的更多信息。

请记住,第三方加载项可以在不更改消息类别或安全标志的情况下加密消息。他们看起来像普通的电子邮件。在这种情况下,您将必须解析邮件正文以检测到它们。