Outlook VBA-可以查看电子邮件源代码吗?

时间:2018-08-30 02:55:10

标签: vba outlook outlook-vba

在MS Outlook中,我想遍历每个选定的电子邮件,并针对每个电子邮件查看源代码并检查源文件(如txt格式)是否包含某个字符串“ XX”。由于使用查看源代码可以将电子邮件内容显示为html格式,因此我想跟踪某些格式的文本,该文本中存在问题。

当前,我正在通过打开邮件手动进行操作,右键单击>查看源代码> Ctrl + F来查找我要查找的字符串。

是否存在使用VBA执行电子邮件中“查看源代码”操作的视图?

Dim individualItem As Object
For Each individualItem In Application.ActiveExplorer.Selection

    'View Source Code of the email

    'Find "XX" in the email body content
     If Instr(individualItem.body, "XX") = 1 Then
     Msgbox ("Find string!")
     End if

Next Message

谢谢。

2 个答案:

答案 0 :(得分:0)

您几乎是正确的,我看到两个问题:
1.)有两个不同的属性Body(仅文本)和HTMLBody
2.)Instr返回搜索令牌的位置。如果找到令牌,则可以是任何正数。

所以尝试:

If Instr(individualItem.HTMLBody, "XX") <> 0 Then

答案 1 :(得分:0)

“源”是指邮件的MIME标头吗?它们存储在PR_TRANSPORT_MESSAGE_HEADERS属性中-使用OutlookSpy查看消息(单击IMessage按钮)。您可以使用MailItem.PropertyAccessor.GetProperty读取该属性。 PR_TRANSPORT_MESSAGE_HEADERS属性"http://schemas.microsoft.com/mapi/proptag/0x007D001F"的DASL名称。