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

如何使用Outlook Add-in Javascript API为邮件添加标记或通知消息?

需求实现说明

你需要的给邮件添加标记、自定义信息通知的效果完全可以通过Outlook JavaScript API实现,两类需求分别对应不同的官方接口:


一、邮件后续标记(Flag)实现

适用版本要求:Outlook JavaScript API v1.8及以上
需要提前在插件清单中配置最低API版本为1.8,且授予至少ReadWriteItem权限。
操作代码示例:

// 为当前打开/选中的邮件添加标记
const currentMail = Office.context.mailbox.item;
const flagParams = {
  flagStatus: Office.MailboxEnums.FlagStatus.flagged,
  startDate: new Date(),
  dueDate: new Date(Date.now() + 86400000), // 1天后到期
  reminderTime: new Date(Date.now() + 7200000) // 2小时后触发提醒
};

currentMail.flag.setAsync(flagParams, (res) => {
  if (res.status === Office.AsyncResultStatus.Succeeded) {
    // 标记设置成功后执行对应逻辑
  } else {
    console.error('标记设置失败:', res.error.message);
  }
});

需要清除标记时直接调用currentMail.flag.clearAsync()即可完成操作。


二、邮件内联信息通知(对应你示例图的效果)实现

适用版本要求:Outlook JavaScript API v1.13及以上
该接口可以在邮件正文顶部添加自定义通知条,支持自定义文案、图标、显示时效,和你提供的示例图效果完全一致。
操作代码示例:

// 给当前邮件添加自定义通知
const noticeId = "custom_business_notice_01";
const noticeConfig = {
  type: Office.MailboxEnums.ItemNotificationMessageType.InsightMessage,
  message: "该邮件已同步至内部业务系统,编号:BIZ202405010001",
  icon: "NotificationIcon", // 需和插件清单中声明的16*16图标ID对应
  persistent: true // 设为true时通知会长期绑定在该邮件上,刷新页面也不会消失
};

Office.context.mailbox.item.notificationMessages.addAsync(noticeId, noticeConfig, (res) => {
  if (res.status === Office.AsyncResultStatus.Succeeded) {
    // 通知添加成功后执行对应逻辑
  } else {
    console.error('通知添加失败:', res.error.message);
  }
});

需要移除通知时调用Office.context.mailbox.item.notificationMessages.removeAsync(noticeId)即可完成操作。


注意事项

  • 如果需要对邮件列表中的多封邮件批量操作,可调用Office.context.mailbox.getSelectedItemsAsync()获取选中的多封邮件实例后循环处理
  • 不同端的Outlook支持的API版本有差异,建议在清单中声明对应API的需求集,避免低版本客户端出现兼容问题
  • 修改邮件属性的操作需要插件获取足够的权限,建议在清单中配置ReadWriteMailbox权限满足全场景需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 08:36:03