求助:如何用Microsoft Graph API实现Office365邮件重定向而非转发
解决方案:使用Graph API的
redirect端点实现原生重定向效果 你遇到的问题本质是forward端点的设计逻辑和O365网页端的重定向规则不同:forward是创建一封新的转发邮件,发件人默认是当前操作的用户;而重定向规则是直接将原邮件路由到目标地址,全程保留原始邮件头信息(包括FROM)。
直接用以下方案解决:
- 使用
/me/messages/{id}/redirect端点:这是Graph API专门为邮件重定向场景提供的接口,完全匹配O365网页端重定向规则的行为,会完整保留原邮件的所有头部和内容,不会修改发件人信息。 - 请求示例:
发送POST请求到:
请求体(JSON格式)只需指定目标收件人:https://graph.microsoft.com/v1.0/me/messages/{message-id}/redirect{ "toRecipients": [ { "emailAddress": { "address": "target-recipient@example.com" } } ] } - 权限要求:确保你的应用/用户账号拥有
Mail.ReadWrite(委托权限)或Mail.ReadWrite.All(应用权限)权限,该端点不需要额外的SendAs权限。
之前尝试创建草稿发送失败的原因是:普通用户账号没有权限以其他发件人身份发送邮件(除非配置了SendAs或SendOnBehalfOf权限),但重定向场景不需要这种权限——redirect是系统级的邮件路由操作,不属于“冒充发件人”,因此可以直接实现需求。
内容的提问来源于stack exchange,提问作者matrad
相关产品推荐
相关产品推荐

