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

如何在Outlook插件撰写端通过Office JS获取原邮件主消息ID?

在Outlook插件撰写场景中获取回复/转发的原邮件主消息ID

在回复或转发邮件的撰写场景下,你可以通过Office JavaScript API的异步方法获取原邮件的主消息ID,具体实现方式如下:

核心实现逻辑

只有在回复/转发的撰写窗口中,Office.context.mailbox.item.getEntities().messageId才会指向原邮件的消息ID,需通过异步方法getAsync获取结果,避免阻塞主线程。

示例代码

// 先校验当前场景是否为回复/转发的邮件撰写模式
if (Office.context.mailbox.item.itemType === Office.MailboxEnums.ItemType.Message) {
    const composeType = Office.context.mailbox.item.getComposeType();
    if ([Office.MailboxEnums.ComposeType.Reply, 
         Office.MailboxEnums.ComposeType.ReplyAll, 
         Office.MailboxEnums.ComposeType.Forward].includes(composeType)) {

        // 异步获取原邮件主消息ID
        Office.context.mailbox.item.getEntities().messageId.getAsync((result) => {
            if (result.status === Office.AsyncResultStatus.Succeeded) {
                const originalMsgId = result.value;
                console.log("原邮件主消息ID:", originalMsgId);
                // 此处可添加你的业务逻辑,比如用该ID调用后端接口等
            } else {
                console.error("获取失败:", result.error.message);
            }
        });
    } else {
        console.log("当前不是回复/转发的撰写场景");
    }
}

关键注意事项

  • 权限配置:插件manifest.xml中需配置至少ReadItem或ReadWriteItem权限,才能访问邮件实体信息。
  • 环境兼容:该API支持Outlook 2016及以上版本(Windows/Mac)、Outlook网页版和移动版,需确认目标环境兼容性。
  • 异步规范:必须通过回调或Promise封装的async/await处理结果,不能同步直接取值。

内容的提问来源于stack exchange,提问作者Zia ul Qamar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 12:21:07