你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

快速入门:如何连接已验证电子邮件域

本快速入门介绍如何在 Azure 通信服务中连接已验证的域,以发送电子邮件。

先决条件

将电子邮件域连接到通信服务资源

  1. 在 Azure 通信服务的“资源概述”页面上,单击左侧导航面板中“电子邮件”下的“域”

    显示用于链接电子邮件域的左侧导航面板的屏幕截图。

  2. 选择以下任一选项:

    • 在上部导航栏中,单击“连接域”

    • 在初始屏幕中,单击“连接域”

      显示如何连接已验证的电子邮件域之一的屏幕截图。

  3. 通过筛选选择一个已验证的域:

    • 订阅
    • 资源组
    • 电子邮件服务
    • 已验证的域

    显示如何筛选并选择要连接的已验证电子邮件域之一的屏幕截图。

注意

只能连接同一地理位置中的域。 请确保在创建资源期间为通信资源和电子邮件通信资源选择的数据位置位于同一地理位置。

  1. 单击“连接”。

    显示已验证的电子邮件域之一现已连接的屏幕截图。

注意

我们可支持客户将最多 100 个自定义域链接到单个通信服务资源。 通信服务资源可以访问这些自定义域下配置的所有发件人地址。 你只能链接已验证的自定义域。

从通信服务资源断开连接电子邮件域

  1. 在 Azure 通信服务的“资源概述”页面上,单击左侧导航面板中“电子邮件”下的“域”

  2. 选择“已连接的域”,然后单击“...”并选择“断开连接”

    显示如何与已连接域的断开连接的屏幕截图。

先决条件

将电子邮件域连接到通信服务资源

替换示例请求中的 {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": []
    }
}

先决条件

安装必需包

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);

先决条件

安装必需包

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
);

先决条件

安装必需包

将以下依赖项添加到 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();

先决条件

安装必需包

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()

后续步骤