阅读电子邮件时添加信息消息

时间:2021-07-19 07:39:34

标签: outlook outlook-addin outlook-web-addins

当用户阅读特定电子邮件(即电子邮件被标记为外部)时,我想为用户显示一条信息消息。该消息应以与 Outlook 类别相同的方式显示。 我知道我可以使用 Exchange 传输规则来实现这一点,但我的客户不想修改消息本身。他更喜欢在 UI 中显示消息而不更改电子邮件正文。另一种选择是使用 Office.context.mailbox.item.notificationMessages 接口,但正如我所说,如果可能,我不想修改电子邮件项目。

您认为 Outlook JS 插件可行吗? 我的需求与 VSTO 插件的需求类似:How can my Outlook VSTO Add-in modify the read email form?

2 个答案:

答案 0 :(得分:0)

Office.context.mailbox.item.notificationMessages 接口提供 addAsync 方法,该方法接受 JSONMessage 参数,该参数表示包含要添加到项目的通知消息的 JSON 对象。它包含一个 NotificationMessageDetails 对象。在属性中,您可以找到 persistent 属性,它指定消息是否应该是持久的。仅在类型为 InformationalMessage 时适用。如果为 true,消息会一直保留,直到被此加载项删除或被用户关闭。如果为 false,则在用户导航到不同项目时将其删除。对于错误通知,该消息会一直存在,直到用户看到它一次。为不受支持的类型指定此参数会引发异常。

如果是类别,消息将被修改。

<块引用>

您知道是否可以在打开读取表单后立即执行该功能而无需单击操作按钮?

Web 加载项仅在当前所选项目的上下文中运行。您可以固定一个任务窗格,然后您将能够注册一个事件处理程序以获取有关更改的通知。事件处理程序应该接受一个参数,它是一个对象文字。此对象的类型属性将设置为 Office.EventType.ItemChanged。调用该事件时,Office.context.mailbox.item 对象已更新以反映当前选定的项目。

Office.initialize = function (reason) {
  $(document).ready(function () {

    // Set up ItemChanged event
    Office.context.mailbox.addHandlerAsync(Office.EventType.ItemChanged, itemChanged);
    });
};

function itemChanged(eventArgs) {
  // Update on the new current item
}

答案 1 :(得分:0)

目前不支持读取模式下基于事件的加载项激活。我们在 Tech Community Page 上跟踪 Outlook 加载项功能请求。请在那里提交您的请求并选择适当的标签。我们在规划过程中会考虑技术社区的功能请求。

目前,仅 Compose 模式支持基于事件的加载项激活。你可以在这里探索更多 - Configure your Outlook add-in for event-based activation - Office Add-ins | Microsoft Docs