如何在Microsoft Graph API的Reply/ReplyAll中修改收件人地址
如何通过Microsoft Graph API实现带自定义收件人的邮件回复
由于Microsoft Graph API的reply和replyAll接口确实不支持修改收件人列表,要实现类似Outlook的自定义收件人回复功能,你需要手动构造回复邮件并发送,具体步骤如下:
1. 获取原邮件的关键信息
调用GET /me/messages/{message-id}接口获取原邮件核心数据,需用到的字段包括:
subject:用于构造回复主题(添加Re:前缀)body:原邮件内容,用于在回复中引用from/toRecipients/ccRecipients:原邮件收发件人信息,可作为自定义收件人的参考
2. 构造自定义回复邮件
按需修改收件人列表,同时按回复格式组装邮件内容:
- 主题:在原邮件主题前添加
Re:(全部回复场景可保留主题逻辑,但自定义收件人无需依赖原接口规则) - 收件人:直接在
toRecipients、ccRecipients、bccRecipients字段中设置目标邮箱地址,支持添加新收件人、移除原有收件人 - 正文:将原邮件内容以引用格式(如Outlook灰色块)插入到回复内容上方。原邮件为HTML格式时保留引用的HTML结构;文本格式时用
>前缀标记引用内容。
3. 发送构造好的邮件
调用POST /me/sendMail接口发送自定义回复邮件,示例请求体如下:
{ "message": { "subject": "Re: 原邮件主题", "body": { "contentType": "HTML", "content": "<p>你的回复内容</p><hr><p><strong>原邮件内容:</strong></p><blockquote>原邮件的HTML内容</blockquote>" }, "toRecipients": [ { "emailAddress": { "address": "new-recipient@example.com" } }, { "emailAddress": { "address": "original-sender@example.com" } } ], "ccRecipients": [ { "emailAddress": { "address": "cc-recipient@example.com" } } ], "conversationId": "原邮件的conversationId" }, "saveToSentItems": true }
注意事项
- 设置
conversationId字段(取自原邮件的conversationId)可让回复邮件显示在原会话线程中,保持会话关联 saveToSentItems设为true可将邮件保存到已发送文件夹,与reply接口行为一致
内容的提问来源于stack exchange,提问作者Sandeep Bhutani
相关产品推荐
相关产品推荐

