如何在新版Outlook Web加载项中修改ReplyRecipients属性?
新版Outlook加载项添加回复收件人的问题说明与临时方案
当前问题背景
在Windows端新版Outlook测试版(版本1.2023.607.100)迁移旧版加载项时,原代码通过currentItem.ReplyRecipients.Add()添加回复收件人的逻辑,无法直接适配新版的Office.context.mailbox.item——新版API中暂未提供ReplyRecipients相关属性及操作方法。经确认,微软Outlook加载项团队目前尚未在新版API中实现该功能。
临时替代方案(通过Outlook Web API)
虽然新版加载项API暂不支持直接操作ReplyRecipients,但可通过调用Outlook Web API间接实现需求,步骤如下:
获取当前邮件的REST兼容ID
先通过新版加载项API获取邮件ID,并转换为Web API可识别的格式:const itemId = Office.context.mailbox.item.itemId; const restId = Office.context.mailbox.convertToRestId(itemId, Office.MailboxEnums.RestVersion.v2_0);调用Web API更新回复收件人
使用fetch发送PATCH请求,修改邮件的ReplyTo属性:// 先获取API访问令牌 const tokenResult = await Office.context.mailbox.getCallbackTokenAsync({ isRest: true }); const accessToken = tokenResult.value; const apiUrl = `https://outlook.office.com/api/v2.0/me/messages/${restId}`; await fetch(apiUrl, { method: 'PATCH', headers: { 'Authorization': `Bearer ${accessToken}`, 'Content-Type': 'application/json' }, body: JSON.stringify({ "ReplyTo": [ { "EmailAddress": { "Address": "REPLY_EMAIL" } }, { "EmailAddress": { "Address": sendAccount.SmtpAddress } } ] }) });注意:此方法需确保加载项已申请
Mail.ReadWrite类权限,且用户完成授权流程。
功能推进情况
已向微软提交功能请求,要求在新版加载项API中恢复ReplyRecipients相关功能支持。
内容的提问来源于stack exchange,提问作者Dadv
相关产品推荐
相关产品推荐

