Microsoft Entra Admin Center中OAuth代发邮件报错ErrorInvalidUser求助
问题分析与解决方法
核心错误原因
你采用委派权限+授权码流程获取Token,但错误调用了需要应用权限的/users/{user-id}/sendMail端点。在委派权限模式下,Access Token仅代表当前授权的用户,无法直接指定其他用户(除非拥有额外管理员权限),正确的端点应为/me/sendMail。
修正后的操作步骤
- 权限配置确认:
- 确保已添加委派权限:
Mail.Send、User.Read,并完成管理员同意(租户内应用需此操作) - 无需添加应用权限(除非要走无需用户授权的后台发信流程)
- 确保已添加委派权限:
- 调整Graph API调用地址:
将原请求地址:
替换为:https://graph.microsoft.com/v1.0/users/" + fromEmailAddress + "/sendMail
该端点会自动使用Access Token对应的授权用户身份发送邮件。https://graph.microsoft.com/v1.0/me/sendMail
额外注意事项
- 若需求是代表其他用户发信(非当前授权用户),需切换为应用权限流程:
- 添加应用权限
Mail.Send并完成管理员同意 - 使用客户端凭证流程(Client Credentials Flow)获取Access Token
- 调用
/users/{user-id}/sendMail端点,需确保目标用户是租户内有效账号
- 添加应用权限
- 若坚持指定用户,需验证
fromEmailAddress格式正确(无多余引号、空格),且该邮箱确实是租户内的有效用户
内容的提问来源于stack exchange,提问作者umesh
相关产品推荐
相关产品推荐

