跳到主要内容
Disclaimer

The mentioned functionalities may be restricted depending on the purchased software license.

Microsoft Graph API 发送邮件设置

本指南解释了如何授予您组织的管理员同意我们多租户邮件发送应用程序的使用,并限制其访问权限,以便它只能从指定的邮箱发送电子邮件(例如,noreply@yourdomain.com)。即使您没有丰富的 IT 经验,这里提供的逐步说明和前提条件也将帮助您使用安装在 PC 上的工具完成设置。

注意:
如果您需要帮助,请在 eniris.io/support 创建支持工单。

目录

概述

我们的邮件发送应用程序使用 Microsoft Graph API,并具有应用权限,从指定邮箱发送电子邮件。为了启用此功能,您的管理员必须:

  1. 授予应用程序租户级的同意。
  2. 向我们提供您的域名、租户 ID 和您想要使用的电子邮件地址(例如,noreply@yourdomain.com)。

这些详细信息可以在您的租户概览中找到,访问 Microsoft Entra

前提条件

在您开始之前,请确保您具备以下条件:

  • 管理员凭据: 您必须拥有 Microsoft 365 租户的全局管理员权限。
  • 访问 Microsoft Entra: 您需要在 Microsoft Entra 查看您的租户详情。
  • 在您的 PC 上安装 PowerShell:
  • 基本知识: 熟悉在 PowerShell 中复制和粘贴命令。如果您是初学者,请不要担心—下面的步骤详细且简单明了。

步骤 1:授予管理员同意

  1. 构建管理员同意 URL:
    使用以下 URL 格式。用您的实际域名替换 <YOUR-DOMAIN-NAME>(例如,如果您的域名是 "contoso.com",请使用该名称):

    https://login.microsoftonline.com/<YOUR-DOMAIN-NAME>/adminconsent?client_id=03126c25-5828-4b2e-aa6d-d97380cb1cb5&redirect_uri=https://eniris.io
  2. 访问该 URL:
    让您的 Microsoft 365 全局管理员登录到他们的浏览器并导航到该 URL。他们将看到一个同意对话框,列出我们应用请求的权限(例如,Mail.Send)。

  3. 授予同意:
    管理员应该点击 "Accept" 以授予同意。此操作将在您的租户中为我们的应用创建服务主体,并允许其发送电子邮件。

  4. 通知我们:
    授予同意后,请创建一个工单 eniris.io/support,并提供以下详细信息:

  • 您的域名。
  • 您的租户 ID(可以在 Microsoft Entra 租户概览 中找到)。
  • 您希望用于发送邮件的电子邮件地址(例如,noreply@yourdomain.com)。

步骤 2:捕获您的租户详情

我们的入职流程将在管理员授予同意时自动捕获您的租户 ID。然而,如果您需要手动验证,可以:

  • 登录到 Microsoft Entra
  • 从租户概览页面复制您的 租户 ID

步骤 3:配置访问限制

为遵循安全最佳实践,我们将创建一个专用的安全组,并用它来限制应用的访问权限,仅允许其访问您指定的邮箱。这实现了最小权限原则,确保应用仅能访问绝对必要的内容。

创建所需的邮件安全组

  1. 登录 Microsoft 365 管理中心:
    前往 admin.microsoft.com 并使用您的管理员帐户登录。

  2. 创建安全组:

  • 导航到 "Groups" > "Active groups"
  • 点击 "Add a group"
  • 选择 "Security" 作为组类型,然后点击 "Next"
  • 输入名称(例如,“仅限 Noreply 访问”)和描述
  • noreply@yourdomain.com 帐户添加为成员
  • 点击 "Next" 然后 "Create group"

应用访问限制

  1. 打开 PowerShell:
    以管理员身份在您的 PC 上运行 PowerShell。

  2. 连接到 Exchange Online:
    安装 ExchangeOnlineManagement 模块(如果尚未安装),然后连接:

    Install-Module -Name ExchangeOnlineManagement -Scope CurrentUser
    Connect-ExchangeOnline -UserPrincipalName "<YOUR-ADMIN-EMAIL>" # 例如: admin@yourdomain.com
  3. 创建应用访问策略:
    运行以下命令。将 <YOUR-SECURITY-GROUP-EMAIL> 替换为您安全组的实际电子邮件地址或对象 ID:

    New-ApplicationAccessPolicy -AccessRight RestrictAccess -AppId "03126c25-5828-4b2e-aa6d-d97380cb1cb5" -PolicyScopeGroupId "<YOUR-SECURITY-GROUP-EMAIL>" -Description "Restrict app access to the noreply mailbox only"
  4. 验证策略:
    通过运行(用您的实际 noreply 电子邮件地址替换)来测试该策略是否有效:

    Test-ApplicationAccessPolicy -Identity "<YOUR-NOREPLY-EMAIL>" -AppId "03126c25-5828-4b2e-aa6d-d97380cb1cb5"

安全考虑

  • 数据隔离: 在您的租户中创建的服务主体确保应用仅具有政策允许的访问权限。
  • 最小权限: 应用仅请求 Mail.Send 权限,并进一步限制为一个邮箱。
  • 审计: 我们建议定期检查您的服务主体和应用访问政策。

附加信息和资源

常见问题:

同意错误:

PowerShell 错误:

  • 检查 ExchangeOnlineManagement 模块是否已安装并更新
  • 验证您的管理员凭据是否拥有足够的权限

策略验证: