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

Java调用Microsoft Graph API发邮件遇BadRequest,如何指定发件人?

解决Microsoft Graph API发送邮件的BadRequest错误

你遇到的错误是因为用应用权限(ClientSecretCredential)调用了/me端点,这个端点仅支持委托身份验证流(即代表具体用户登录的场景),应用权限下必须明确指定发件人邮箱,不能用/me指代当前用户。

修改方案

直接把代码里的graphClient.me()替换成graphClient.users("你的发件人邮箱地址"),比如发件人是john@contoso.onmicrosoft.com,就改成对应的用户邮箱调用。

修改后的核心代码片段

// 替换原有的graphClient.me()调用部分
graphClient.users("john@contoso.onmicrosoft.com")
    .sendMail(UserSendMailParameterSet
        .newBuilder()
        .withMessage(message)
        .withSaveToSentItems(null)
        .build())
    .buildRequest()
    .post();

额外注意事项

  • 确保你的Azure AD应用已添加Mail.Send(应用权限),并且完成了管理员同意
  • 发件人邮箱必须是当前租户内的有效用户邮箱,不能使用外部邮箱

内容的提问来源于stack exchange,提问作者user18772237

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 16:21:10