你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
快速入门:如何连接已验证电子邮件域
本快速入门介绍如何在 Azure 通信服务中连接已验证的域,以发送电子邮件。
先决条件
- 具有活动订阅的 Azure 帐户。 免费创建帐户。
- 已准备好预配域的 Azure 电子邮件通信服务资源。 开始创建电子邮件通信资源。
- Azure 托管域或自定义域已预置且准备好发送电子邮件。 在尝试将此域链接到通信服务资源之前,必须对此域进行完全验证。
- Azure 通信服务资源。 创建通信服务资源。
将电子邮件域连接到通信服务资源
在 Azure 通信服务的“资源概述”页面上,单击左侧导航面板中“电子邮件”下的“域”。
选择以下任一选项:
通过筛选选择一个已验证的域:
- 订阅
- 资源组
- 电子邮件服务
- 已验证的域
注意
只能连接同一地理位置中的域。 请确保在创建资源期间为通信资源和电子邮件通信资源选择的数据位置位于同一地理位置。
注意
我们可支持客户将最多 100 个自定义域链接到单个通信服务资源。 通信服务资源可以访问这些自定义域下配置的所有发件人地址。 你只能链接已验证的自定义域。
从通信服务资源断开连接电子邮件域
先决条件
- 具有活动订阅的 Azure 帐户。 免费创建帐户。
- 已准备好预配域的 Azure 电子邮件通信服务资源。 开始创建电子邮件通信资源。
- Azure 托管域或自定义域已预置且准备好发送电子邮件。 在尝试将此域链接到通信服务资源之前,必须对此域进行完全验证。
- Azure 通信服务资源。 创建通信服务资源。
将电子邮件域连接到通信服务资源
替换示例请求中的 {subscription-id}
、{resource-group-name}
、{communication-services-resource-name}
和 {linked-domain-resource-id}
。
设置链接域资源 ID 的格式,如下所示:
/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Communication/emailServices/{email-service-name}/domains/{domain-name}
如果使用的是 Azure 托管域,则 domain-name
为“AzureManagedDomain”。 email-service-name
应与用于预配域的电子邮件服务相同。
填充这些值后,请使用以下请求 URL 和正文发出 PATCH 请求。
https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Communication/CommunicationServices/{communication-services-resource-name}?api-version=2023-03-31
{
"properties": {
"linkedDomains": ["{linked-domain-resource-id}"]
}
}
从通信服务资源断开连接电子邮件域
替换示例请求中的 {subscription-id}
、{resource-group-name}
和 {communication-services-resource-name}
。
填充这些值后,请使用以下请求 URL 和正文发出 PATCH 请求。
https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Communication/CommunicationServices/{communication-services-resource-name}?api-version=2023-03-31
{
"properties": {
"linkedDomains": []
}
}
先决条件
- 具有活动订阅的 Azure 帐户。 免费创建帐户。
- 已准备好预配域的 Azure 电子邮件通信服务资源。 开始创建电子邮件通信资源。
- Azure 托管域或自定义域已预置且准备好发送电子邮件。 在尝试将此域链接到通信服务资源之前,必须对此域进行完全验证。
- Azure 通信服务资源。 创建通信服务资源。
- 我们使用服务主体进行身份验证。 将 Microsoft Entra 应用程序中客户端 ID、租户 ID 和客户端密码的值设为以下环境变量:
AZURE_CLIENT_ID
、AZURE_TENANT_ID
和AZURE_CLIENT_SECRET
。
安装必需包
dotnet add package Azure.ResourceManager.Communication
初始化管理客户端
使用你的域和电子邮件资源所位于的订阅的订阅 ID 设置环境变量 AZURE_SUBSCRIPTION_ID
。 运行代码示例以初始化管理客户端。
using System;
using System.Threading.Tasks;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Resources;
ArmClient client = new ArmClient(new DefaultAzureCredential());
将电子邮件域连接到通信服务资源
替换示例代码中的 <subscription-id>
、<resource-group-name>
、<azure-communication-services-resource-name>
和 <linked-domain-resource-id>
。
设置链接域资源 ID 的格式,如下所示:
/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Communication/emailServices/<email-service-name>/domains/<domain-name>
如果使用的是 Azure 托管域,则 domain-name
为“AzureManagedDomain”。email-service-name
应与用于预配域的电子邮件服务相同。
填充这些值后,运行示例代码。
ResourceIdentifier communicationServiceResourceId = CommunicationServiceResource.CreateResourceIdentifier("<subscription-id>", "<resource-group-name>", "<azure-communication-services-resource-name>");
CommunicationServiceResource communicationServiceResource = client.GetCommunicationServiceResource(communicationServiceResourceId);
CommunicationServiceResourcePatch patch = new CommunicationServiceResourcePatch()
{
LinkedDomains =
{
"<linked-domain-resource-id>",
},
};
CommunicationServiceResource result = await communicationServiceResource.UpdateAsync(patch);
从通信服务资源断开连接电子邮件域
替换示例代码中的 <subscription-id>
、<resource-group-name>
和 <azure-communication-services-resource-name>
。
填充这些值后,运行示例代码。
ResourceIdentifier communicationServiceResourceId = CommunicationServiceResource.CreateResourceIdentifier("<subscription-id>", "<resource-group-name>", "<azure-communication-services-resource-name>");
CommunicationServiceResource communicationServiceResource = client.GetCommunicationServiceResource(communicationServiceResourceId);
CommunicationServiceResourcePatch patch = new CommunicationServiceResourcePatch();
patch.LinkedDomains.Clear();
CommunicationServiceResource result = await communicationServiceResource.UpdateAsync(patch);
先决条件
- 具有活动订阅的 Azure 帐户。 免费创建帐户。
- 已准备好预配域的 Azure 电子邮件通信服务资源。 开始创建电子邮件通信资源。
- Azure 托管域或自定义域已预置且准备好发送电子邮件。 在尝试将此域链接到通信服务资源之前,必须对此域进行完全验证。
- Azure 通信服务资源。 创建通信服务资源。
- 我们使用服务主体进行身份验证。 将 Microsoft Entra 应用程序中客户端 ID、租户 ID 和客户端密码的值设为以下环境变量:
AZURE_CLIENT_ID
、AZURE_TENANT_ID
和AZURE_CLIENT_SECRET
。
安装必需包
npm install @azure/arm-communication
npm install @azure/identity
初始化管理客户端
将示例代码中的字段替换为你的域和电子邮件资源所在的订阅的订阅 ID。 运行代码示例以初始化管理客户端。
const { CommunicationServiceManagementClient } = require("@azure/arm-communication");
const { DefaultAzureCredential } = require("@azure/identity");
const credential = new DefaultAzureCredential();
const subscriptionId = "<your-subscription-id>";
client = new CommunicationServiceManagementClient(credential, subscriptionId);
将电子邮件域连接到通信服务资源
替换示例代码中的 <resource-group-name>
、<azure-communication-services-resource-name>
和 <linked-domain-resource-id>
。
设置链接域资源 ID 的格式,如下所示:
/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Communication/emailServices/<email-service-name>/domains/<domain-name>
如果使用的是 Azure 托管域,则 domain-name
为“AzureManagedDomain”。 email-service-name
应与用于预配域的电子邮件服务相同。
填充这些值后,运行示例代码。
const parameters = {
dataLocation: "United States",
location: "Global",
linkedDomains: [
"<linked-domain-resource-id>"
]
};
const result = await client.communicationServices.beginCreateOrUpdateAndWait(
"<resource-group-name>",
"<azure-communication-services-resource-name>",
parameters
);
从通信服务资源断开连接电子邮件域
替换示例代码中的 <resource-group-name>
和 <azure-communication-services-resource-name>
。
填充这些值后,运行示例代码。
const parameters = {
dataLocation: "United States",
location: "Global"
};
const result = await client.communicationServices.beginCreateOrUpdateAndWait(
"<resource-group-name>",
"<azure-communication-services-resource-name>",
parameters
);
先决条件
- 具有活动订阅的 Azure 帐户。 免费创建帐户。
- 已准备好预配域的 Azure 电子邮件通信服务资源。 开始创建电子邮件通信资源。
- Azure 托管域或自定义域已预置且准备好发送电子邮件。 在尝试将此域链接到通信服务资源之前,必须对此域进行完全验证。
- Azure 通信服务资源。 创建通信服务资源。
- 我们使用服务主体进行身份验证。 将 Microsoft Entra 应用程序中客户端 ID、租户 ID 和客户端密码的值设为以下环境变量:
AZURE_CLIENT_ID
、AZURE_TENANT_ID
和AZURE_CLIENT_SECRET
。
安装必需包
将以下依赖项添加到 pom.xml
。
<dependency>
<groupId>com.azure.resourcemanager</groupId>
<artifactId>azure-resourcemanager-communication</artifactId>
<version>2.0.0</version>
</dependency>
初始化管理客户端
使用你的域和电子邮件资源所位于的订阅的订阅 ID 设置环境变量 AZURE_SUBSCRIPTION_ID
。 运行代码示例以初始化管理客户端。
AzureProfile profile = new AzureProfile(AzureEnvironment.AZURE);
TokenCredential credential = new DefaultAzureCredentialBuilder()
.authorityHost(profile.getEnvironment().getActiveDirectoryEndpoint())
.build();
CommunicationManager manager = CommunicationManager
.authenticate(credential, profile);
将电子邮件域连接到通信服务资源
替换示例代码中的 <resource-group-name>
、<azure-communication-services-resource-name>
和 <linked-domain-resource-id>
。
链接的域资源 ID 应采用以下格式。
/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Communication/emailServices/<email-service-name>/domains/<domain-name>
如果使用的是 Azure 托管域,则 domain-name
为“AzureManagedDomain”。 email-service-name
应与用于预配域的电子邮件服务相同。
填充这些值后,运行示例代码。
List<String> linkedDomains = new ArrayList<>();
linkedDomains.add("<linked-domain-resource-id>")
manager
.communicationServices()
.define("<azure-communication-services-resource-name>")
.withRegion("Global")
.withExistingResourceGroup("<resource-group-name>")
.withDataLocation("United States")
.withLinkedDomains(linkedDomains)
.create();
从通信服务资源断开连接电子邮件域
替换示例代码中的 <resource-group-name>
和 <azure-communication-services-resource-name>
。
填充这些值后,运行示例代码。
manager
.communicationServices()
.define("<azure-communication-services-resource-name>")
.withRegion("Global")
.withExistingResourceGroup("<resource-group-name>")
.withDataLocation("United States")
.create();
先决条件
- 具有活动订阅的 Azure 帐户。 免费创建帐户。
- 已准备好预配域的 Azure 电子邮件通信服务资源。 开始创建电子邮件通信资源。
- Azure 托管域或自定义域已预置且准备好发送电子邮件。 在尝试将此域链接到通信服务资源之前,必须对此域进行完全验证。
- Azure 通信服务资源。 创建通信服务资源。
- 我们使用服务主体进行身份验证。 将 Microsoft Entra 应用程序中客户端 ID、租户 ID 和客户端密码的值设为以下环境变量:
AZURE_CLIENT_ID
、AZURE_TENANT_ID
和AZURE_CLIENT_SECRET
。
安装必需包
pip install azure-mgmt-communication
pip install azure-identity
初始化管理客户端
将示例代码中的字段替换为你的域和电子邮件资源所在的订阅的订阅 ID。 运行代码示例以初始化管理客户端。
from azure.mgmt.communication import CommunicationServiceManagementClient
from azure.identity import DefaultAzureCredential
credential = DefaultAzureCredential()
subscription_id = "<your-subscription-id>"
client = CommunicationServiceManagementClient(credential, subscription_id)
将电子邮件域连接到通信服务资源
替换示例代码中的 <resource-group-name>
、<azure-communication-services-resource-name>
和 <linked-domain-resource-id>
。
链接的域资源 ID 应采用以下格式。
/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Communication/emailServices/<email-service-name>/domains/<domain-name>
如果使用的是 Azure 托管域,则 domain-name
为“AzureManagedDomain”。 email-service-name
应与用于预配域的电子邮件服务相同。
填充这些值后,运行示例代码。
response = client.communication_services.begin_create_or_update(
resource_group_name="<resource-group-name>",
communication_service_name="<azure-communication-services-resource-name>",
parameters={
"location": "Global",
"properties": {
"dataLocation": "United States",
"linkedDomains": [
"<linked-domain-resource-id>"
],
}
},
).result()
从通信服务资源断开连接电子邮件域
替换示例代码中的 <resource-group-name>
和 <azure-communication-services-resource-name>
。
填充这些值后,运行示例代码。
response = client.communication_services.begin_create_or_update(
resource_group_name="<resource-group-name>",
communication_service_name="<azure-communication-services-resource-name>",
parameters={
"location": "Global",
"properties": {
"dataLocation": "United States"
}
},
).result()
后续步骤
相关文章
- 熟悉电子邮件客户端库