如何配置Azure应用通过Graph实现任意用户身份发送邮件
基于Microsoft Graph实现任意用户身份发信的Azure配置步骤
一、应用创建与必要权限配置
- 登录Azure门户进入Entra ID控制台,打开「应用注册」页面,点击「新注册」
- 按实际场景填写应用名称,选择账户适用范围:仅内部使用选「仅本组织目录内账户」即可,重定向URI无交互服务场景可留空,提交后完成应用创建
- 进入应用详情页的「API权限」板块,点击「添加权限」,选择「Microsoft Graph」
- 要实现无用户交互下以任意用户身份发信,必须选择应用程序权限,搜索勾选
Mail.Send,该权限允许应用在无用户登录时,以租户内任意有效用户的邮箱身份发送邮件 - 如果是有用户登录的交互场景,选择委托权限即可,普通
Mail.Send仅支持以当前登录用户自身身份发信,需要代其他有权限的邮箱发信时额外勾选Mail.Send.Shared - 权限勾选完成后,点击「为租户授予管理员同意」,操作完成后权限才会正式生效,该步骤需要持有租户管理员角色的账号执行
- 应用身份认证凭据配置:进入「证书和密码」板块,按需生成客户端密钥或者上传访问证书,后续调用Graph接口时用该凭据做应用身份校验,注意密钥生成后只展示一次,及时妥善保存。
二、用户添加与管理员权限分配
- 应用默认是允许租户内所有用户关联访问的,如果开启了企业应用的「分配要求」开关,需要进入对应企业应用的「用户和组」页面,点击「添加用户/组」,把需要支持代发邮件的用户、对应业务组加入分配列表即可
- 给指定用户授予管理员角色的操作:回到Entra ID控制台的「角色和管理员」页面,按需选择要授予的角色:
- 仅需要管理Exchange邮件规则、应用邮箱访问策略的,分配「Exchange管理员」角色即可,权限遵循最小必要原则
- 需要执行全局级配置(比如租户范围的应用权限同意、Entra ID全局规则调整)的,分配「全局管理员」角色
- 进入对应角色的详情页,点击「添加分配」,搜索选中目标用户提交即可,权限生效后用户重新登录Azure控制台即可执行对应管理操作。
注意:应用级
Mail.Send权限覆盖范围较大,建议在Exchange Online中配置应用访问限制策略,限定应用仅可访问指定范围的用户邮箱,避免凭据泄露后出现全租户范围的邮件安全风险。
内容的提问来源于stack exchange,提问作者Vishak KR
相关产品推荐
相关产品推荐

