我使用vba过程处理(循环)文件夹中的电子邮件。如果电子邮件被加密,我会收到错误消息
我只想忽略加密的电子邮件以进行处理。我可以做“错误继续”,但是我更喜欢一些
if IsEncrypted(mailitem) then
skip and go to next mailitem
end if
有人可以帮我吗?
答案 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文章中了解有关此内容的更多信息。
请记住,第三方加载项可以在不更改消息类别或安全标志的情况下加密消息。他们看起来像普通的电子邮件。在这种情况下,您将必须解析邮件正文以检测到它们。