【问题标题】:How to change Outlook email item before it openned in VSTO如何在 VSTO 中打开 Outlook 电子邮件项目之前对其进行更改
【发布时间】:2017-09-14 02:52:02
【问题描述】:

我尝试通过电子邮件传送一些服务信息。在发送之前将其添加到电子邮件正文中。在 Outlook 中打开电子邮件时,有没有办法从 MailItem.HtmlBody 中提取和删除此信息。

【问题讨论】:

    标签: c# visual-studio vsto outlook-addin


    【解决方案1】:

    如果您想在邮件到达用户邮箱后立即删除信息,您可以处理 Application 类的 NewMailEx 事件,该事件在收件箱中收到新邮件时触发。对于 Microsoft Outlook 处理的每个收到的项目,此事件都会触发一次。该项目可以是几种不同的项目类型之一,例如 MailItem、MeetingItem 或 SharingItem。 EntryIDsCollection 字符串包含对应于该项目的条目 ID。您可以使用 EntryIDCollection 数组中返回的 Entry ID 来调用NameSpace.GetItemFromID 方法并处理该项目。

    可以在检查器和资源管理器窗口中查看 Outlook 项目。

    对于资源管理器,您可以处理资源管理器类的SelectionChange 事件,当用户以编程方式或通过与用户界面交互选择不同的或附加的 Microsoft Outlook 项目时会触发该事件。当用户(以编程方式或通过用户界面)单击或切换到包含项目的不同文件夹时,也会发生此事件,因为 Outlook 会自动选择该文件夹中的第一个项目。

    对于检查器,您可以处理 Inspectors 类的 NewInspector 事件,无论何时打开新的检查器窗口,无论是作为用户操作的结果还是通过程序代码,都会触发该事件。该事件在创建新的 Inspector 对象之后但在检查器窗口出现之前发生。所以,我建议等待第一个 Activate 事件来访问打开的 MailItem 实例。

    【讨论】:

      猜你喜欢
      • 2023-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-08
      • 2020-09-03
      • 1970-01-01
      • 2015-08-29
      相关资源
      最近更新 更多