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

Outlook Add-in开发:如何获取邮件的重要性级别?

在Outlook JavaScript插件的ItemSend事件中获取邮件重要性级别

你需要通过Message对象的importance属性来获取邮件重要性,这个属性在Outlook JS API中是存在的,以下是具体实现步骤和代码示例:

实现步骤

  • 确保插件清单文件中配置了足够的权限(比如ReadWriteMailbox或ReadMailbox),否则无法读取邮件属性。
  • 注册ItemSend事件监听,在回调中通过异步方法获取邮件的importance属性。

代码示例

// 注册ItemSend事件
Office.context.mailbox.addHandlerAsync(Office.EventType.ItemSend, handleItemSend, (result) => {
  if (result.status !== Office.AsyncResultStatus.Succeeded) {
    console.error('事件注册失败: ' + result.error.message);
    return;
  }
});

// ItemSend事件处理函数
function handleItemSend(event) {
  const message = event.item;
  
  // 异步获取重要性属性
  message.getAsync('importance', (result) => {
    if (result.status === Office.AsyncResultStatus.Succeeded) {
      const importance = result.value;
      // importance的取值为'low'/'normal'/'high'
      console.log('当前邮件重要性:', importance);
      
      // 这里可以添加你的业务逻辑,比如根据重要性做校验
      // 如果需要阻止邮件发送,调用event.completed({ allowEvent: false });
    } else {
      console.error('获取重要性失败: ' + result.error.message);
    }
    
    // 必须调用此方法完成事件处理,否则会阻塞发送流程
    event.completed();
  });
}

注意事项

  • getAsync是异步操作,必须在回调函数内处理返回结果,不能直接同步读取属性。
  • 无论是否成功获取属性,都要调用event.completed(),否则Outlook会一直等待事件处理完成,导致邮件无法发送。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 12:30:43