跳到主要内容
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. 授予同意:
    管理员应点击 "接受" 来授予同意。此操作将在您的租户中为我们的应用创建一个服务主体,并允许其发送电子邮件。

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

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

步骤 2:捕获您的租户详细信息

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

步骤 3:配置访问限制

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

创建所需的邮件安全组

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

  2. 创建安全组:

  • 导航至 "组" > "活动组"
  • 点击 "添加组"
  • 选择 "安全" 作为组类型并点击 "下一步"
  • 输入名称(例如,"仅限 Noreply 访问")和描述
  • noreply@yourdomain.com 帐户添加为成员
  • 点击 "下一步" 然后 "创建组"

应用访问限制

  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 模块是否已安装并保持最新
  • 验证您的管理员凭据是否具有足够的权限

策略验证: