如何检测Outlook已读回执邮件?

时间:2018-07-03 10:15:18

标签: vba outlook internationalization receipt

enter image description here

已读回执请求邮件通常由接收邮件的前缀为“ read:”的主题表示。 但是,此前缀可以构成国际字符,具体取决于收到邮件的来源国家/地区。

因此,VBA代码例如 instr(“ read:”,mailitem.subject) 对于具有非英语区域设置的电子邮件,显然会通过测试。

如何在不检查邮件主题的情况下通过VBA代码检测已读回执邮件?

2 个答案:

答案 0 :(得分:0)

尝试检查项目的MessageClass属性。有关知名消息类别的列表,请参见Item Types and Message Classes

很可能它将由ReportItem对象表示。 ReportItem对象类似于MailItem对象,它包含一个报告(通常是未送达报告)或来自邮件传输系统的错误消息。 与其他Microsoft Outlook对象不同,您无法创建此对象。

从邮件传输系统收到任何报告或一般错误时,报告项目将自动创建。

答案 1 :(得分:0)

对于已读电子邮件通知,您将获得一个ReportItem对象。在读取通知的特定情况下,MessageClass属性将为“ Report.IPM.Note.IPNRN"”。