如何更改Outlook电子邮件项目在VSTO中打开之前
问题描述:
我尝试使用电子邮件传输一些服务信息。在发送之前将它添加到电子邮件正文中。有没有办法在Outlook中打开电子邮件时从MailItem.HtmlBody中提取和删除此信息。如何更改Outlook电子邮件项目在VSTO中打开之前
答
如果要在项目到达用户邮箱时立即删除信息,则可以处理在收件箱中收到新项目时触发的Application类的NewMailEx事件。对于由Microsoft Outlook处理的每个收到的项目,此事件会触发一次。该项目可以是几种不同的项目类型之一,例如MailItem,MeetingItem或SharingItem。 EntryIDsCollection
字符串包含与该项目对应的条目ID。您可以使用EntryIDCollection数组中返回的Entry ID来调用NameSpace.GetItemFromID方法并处理该项目。
Outlook项目可以在检查器和资源管理器窗口中查看。
对于探索者,您可以处理Explorer类的SelectionChange事件,当用户以编程方式或通过与用户界面进行交互来选择不同或附加的Microsoft Outlook项目时触发该事件。当用户(以编程方式或通过用户界面)单击或切换到包含项目的其他文件夹时,也会发生此事件,因为Outlook会自动选择该文件夹中的第一项。
对于检查员,您可以处理Inspectors类的NewInspector事件,无论是用户操作还是通过程序代码打开新检查器窗口时都会触发该事件。该事件发生在新的检查器对象被创建之后,但在检查器窗口出现之前。所以,我建议等待第一个Activate
事件来访问打开的MailItem实例。