【发布时间】:2019-11-17 05:20:05
【问题描述】:
我使用 vba 程序处理(循环)我的文件夹中的电子邮件。如果电子邮件被加密,我会收到错误
我只想忽略加密的电子邮件以进行处理。我可以做“错误继续”,但我更喜欢一些
if IsEncrypted(mailitem) then
skip and go to next mailitem
end if
谁能帮我解决这个问题?
【问题讨论】:
标签: vba encryption outlook mailitem
我使用 vba 程序处理(循环)我的文件夹中的电子邮件。如果电子邮件被加密,我会收到错误
我只想忽略加密的电子邮件以进行处理。我可以做“错误继续”,但我更喜欢一些
if IsEncrypted(mailitem) then
skip and go to next mailitem
end if
谁能帮我解决这个问题?
【问题讨论】:
标签: vba encryption outlook mailitem
找到了。任何 mailitem 都有 .MessageClass 属性,在我的加密电子邮件的情况下,它是“IPM.Note.SMIME”。只需检查此字符串即可准确回答我的问题
【讨论】:
您可以检查 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 文章中了解更多信息。
请记住,第三方加载项可能会在不更改邮件类别或安全标志的情况下加密邮件。它们看起来就像一封普通的电子邮件。在这种情况下,您将不得不解析消息正文来检测它们。
【讨论】: