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

使用Microsoft.Graph.Core通过共享邮箱发邮件时代码报错的咨询

问题分析与解决

核心原因

你遇到的错误主要来自两点:

  1. 依赖包缺失:仅引用Microsoft.Graph.Core不足以实现Graph API操作,Core是底层核心库,用户、邮件发送这类业务API需要依赖Microsoft.Graph主包。
  2. 版本语法差异:Microsoft Graph SDK v3版本(对应你使用的Core 3.0.0)中,SendMail的调用逻辑和网上常见的高版本示例不同。

解决步骤

1. 补全NuGet依赖包

确保项目中安装了与Core版本匹配的Microsoft.Graph主包(3.x版本),不要只单独安装Core包。可以通过NuGet包管理器添加,或使用命令:

Install-Package Microsoft.Graph -Version 3.0.0

2. 调整代码适配v3版本语法

在Graph SDK v3中,SendMail需要通过请求体对象传递参数,而非直接传入message和布尔值。修改代码如下:

// 构建发送邮件的请求体对象
var sendMailReq = new SendMailPostRequestBody
{
    Message = message, // 已构建好的邮件对象
    SaveToSentItems = true // 是否将邮件保存到已发送文件夹
};

// 调用共享邮箱的发送邮件接口
await graphClient.Users["test@test.com"].SendMail.PostAsync(sendMailReq);

3. 确认权限配置

确保应用已配置正确的权限:

  • 若用委托权限:需配置Mail.Send,且当前认证用户必须有权限访问目标共享邮箱
  • 若用应用权限:需配置Mail.Send.Shared,允许应用直接代表用户发送共享邮箱邮件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 04:32:02