You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Office-js Outlook:如何配置规则仅在新建邮件时打开任务窗格

Outlook邮件任务窗格仅新建空白邮件触发的实现方案

该需求可以实现。目前Outlook原生清单规则没有直接区分「新建邮件」和「回复/转发邮件」的配置项,需要通过「清单规则粗过滤+运行时类型判断细控制」的组合方案实现。

第一步:保留原有触发规则

你现有清单里的Rule规则不需要修改,保持编辑模式下的Message类型触发即可:

<Rule xsi:type="RuleCollection" Mode="Or">
     <Rule xsi:type="ItemIs" ItemType="Message" FormType="Edit" />
</Rule>

第二步:添加运行时类型判断逻辑

在任务窗格的初始化入口中,调用Outlook原生提供的getComposeTypeAsyncAPI判断当前邮件的撰写类型,非新建场景直接关闭任务窗格即可,参考代码如下:

Office.onReady((info) => {
  if (info.host !== Office.HostType.Outlook) return;
  // 获取当前邮件撰写类型
  Office.context.mailbox.item.getComposeTypeAsync((result) => {
    if (result.status !== Office.AsyncResultStatus.Succeeded) return;
    const currentComposeType = result.value;
    // 仅新建邮件场景保留任务窗格
    if (currentComposeType !== Office.MailboxEnums.ComposeType.NewMail) {
      Office.context.ui.closeContainer();
      return;
    }
    // 此处写入新建邮件场景下的原有业务逻辑
    // initYourBusinessLogic()
  });
});

注意事项

  • getComposeTypeAsyncAPI最低要求的Outlook邮箱API要求集版本为1.10,需要在插件清单中配置最低要求集不低于该版本,确保兼容主流Outlook客户端版本。
  • 若需要兼容更低版本的Outlook客户端,可以使用兜底判断逻辑:判断Office.context.mailbox.item.conversationId是否为空,正常新建空白邮件的会话ID为空,回复/转发邮件会携带已存在的会话ID,该方案兼容性更高,仅在极少数特殊场景下会出现误判,日常使用足够。

内容的提问来源于stack exchange,提问作者Hardik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 01:18:02