文章 查看内容

Azure 配置邮箱通过 OAuth2.0 发送邮件(Global / China)

Azure 配置邮箱通过 OAuth2.0 发送邮件(Global / China)

17 0 开放与集成 2026-4-13 17:13 发布者: 观小益

Azure 配置邮箱通过 OAuth2.0 发送邮件(Global / China) 这篇文章给出一套可直接落地的配置流程,适用于在观远相关场景中对接 Azure 邮箱,通过 OAuth2.0(client credentials)调用 Microsoft Graph 发送邮件。 ...

Azure 配置邮箱通过 OAuth2.0 发送邮件(Global / China)

这篇文章给出一套可直接落地的配置流程,适用于在观远相关场景中对接 Azure 邮箱,通过 OAuth2.0(client credentials)调用 Microsoft Graph 发送邮件。

一、先确认环境:Global 与 China 不能混用

Azure Global:portal.azure.com / login.microsoftonline.com / graph.microsoft.com

Azure China:portal.azure.cn / login.chinacloudapi.cn / microsoftgraph.chinacloudapi.cn

最常见错误就是 Token 域名、scope 域名、sendMail 域名来自不同环境,导致鉴权或调用失败。

环境与入口

二、应用注册与权限

在对应 Azure 门户完成:应用注册、生成 client secret、配置 Graph 邮件发送权限(如 Mail.Send)、管理员同意(Grant admin consent)。

应用注册与权限

三、获取 Access Token(Client Credentials)

Global 示例:

curl -X POST "https://login.microsoftonline.com/{tenant_id}/oauth2/v2.0/token" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "client_id={client_id}" \
  -d "client_secret={client_secret}" \
  -d "grant_type=client_credentials" \
  -d "scope=https://graph.microsoft.com/.default"

China 示例:

curl -X POST "https://login.chinacloudapi.cn/{tenant_id}/oauth2/v2.0/token" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "client_id={client_id}" \
  -d "client_secret={client_secret}" \
  -d "grant_type=client_credentials" \
  -d "scope=https://microsoftgraph.chinacloudapi.cn/.default"

Token 获取示例

四、调用 sendMail 接口

Global:POST https://graph.microsoft.com/v1.0/users/{user_id_or_upn}/sendMail

China:POST https://microsoftgraph.chinacloudapi.cn/v1.0/users/{user_id_or_upn}/sendMail

curl -X POST "https://graph.microsoft.com/v1.0/users/{user_id_or_upn}/sendMail" \
  -H "Authorization: Bearer {access_token}" \
  -H "Content-Type: application/json" \
  -d "{...}"

sendMail 调用示例

Global 与 China 对照

五、常见报错排查

1) invalid_scope:scope 域名和环境不匹配。

2) invalid_client:client_id/client_secret 错误或 secret 过期。

3) 403 Forbidden:缺少 Mail.Send 或未管理员同意。

4) sendMail 404:Token 与 API 调用跨环境混用。

报错排查示例



路过

雷人

握手

鲜花

鸡蛋

本文导航

评论

您需要登录后才可以发表言论 登录立即注册
微信服务号
联系我们
电话:400-880-0750
邮箱:hello@guandata.com
Copyright © 2001-2026 观远社区 版权所有 All Rights Reserved. 浙 ICP 备15006424号-3
去评论 去发文 返回顶部
返回顶部