Поделиться через


Краткое руководство. Добавление управляемых доменов Azure в службу коммуникации электронной почты

В этом кратком руководстве вы узнаете, как подготовить управляемый домен Azure к службе обмена сообщениями электронной почты в Службы коммуникации Azure.

Необходимые компоненты

Подготовка управляемого домена Azure

  1. Откройте страницу "Обзор" ресурса службы обмена сообщениями электронной почты, созданного в разделе "Начало работы с созданием ресурса обмена сообщениями электронной почты".

  2. Создайте управляемый домен Azure с помощью одного из следующих параметров.

    • (Вариант 1) Нажмите кнопку Добавить 1 в разделе Добавить бесплатный поддомен Azure. Перейдите к шагу 3.

    Снимок экрана: добавление бесплатного управляемого домена Azure.

    • (Вариант 2) Щелкните Подготовка доменов на панели навигации слева.

    Снимок экрана: страница навигации по доменам подготовки.

    • Нажмите Добавить домен в верхней панели навигации.
    • Выберите домен Azure в раскрывающемся списке.
  3. Дождитесь завершения развертывания.

    Снимок экрана: ход развертывания.

  4. После создания домена вы увидите представление списка с новым доменом.

    Снимок экрана: список подготовленных доменов электронной почты.

  5. Щелкните имя подготовленного домена, чтобы открыть страницу обзора для типа ресурса домена.

    Снимок экрана: страница обзора управляемого домена Azure.

Необходимые компоненты

Создание ресурса домена

Чтобы создать ресурс домена, войдите в Azure CLI. Вы можете выполнить команду из az login терминала и предоставить учетные данные. Чтобы создать ресурс, выполните следующую команду:

az communication email domain create --domain-name AzureManagedDomain --email-service-name "<EmailServiceName>" --location "Global" --resource-group "<resourceGroup>" --domain-management AzureManaged

Если вы хотите выбрать определенную подписку, можно также указать флаг и указать --subscription идентификатор подписки.

az communication email domain create --domain-name AzureManagedDomain --email-service-name "<EmailServiceName>" --location "Global" --resource-group "<resourceGroup>" --domain-management AzureManaged --subscription "<subscriptionId>"

Вы можете настроить ресурс домена с помощью следующих параметров:

  • Группа ресурсов
  • Имя ресурса служб коммуникации электронной почты
  • Географический регион, с которым будет связан ресурс
  • Имя ресурса домена:
    • Для доменов Azure имя должно быть AzureManagedDomain.
  • Значение свойства управления доменами.
    • Для доменов Azure значение должно быть AzureManaged.

На следующем шаге можно назначить теги ресурсу домена. Теги можно использовать для упорядочивания ресурсов домена. Дополнительные сведения о тегах см. в документации по тегам ресурсов.

Управление ресурсом домена

Чтобы добавить теги в ресурс домена, выполните следующие команды. Вы также можете ориентироваться на конкретную подписку.

az communication email domain update --domain-name AzureManagedDomain --email-service-name "<EmailServiceName>" --resource-group "<resourceGroup>" --tags newTag="newVal1"

az communication email domain update --domain-name AzureManagedDomain --email-service-name "<EmailServiceName>" --resource-group "<resourceGroup>" --tags newTag="newVal1" --subscription "<subscriptionId>"

Чтобы получить список всех ресурсов домена в данной службе коммуникации электронной почты, используйте следующую команду:

az communication email domain list --email-service-name "<EmailServiceName>" --resource-group "<resourceGroup>"

Чтобы отобразить все сведения о заданном ресурсе домена, выполните следующую команду:

az communication email domain show --domain-name AzureManagedDomain --email-service-name "<EmailServiceName>" --resource-group "<resourceGroup>"

Очистка ресурса домена

Если вы хотите очистить и удалить ресурс домена, можно удалить, выполнив следующую команду.

az communication email domain delete --domain-name AzureManagedDomain --email-service-name "<EmailServiceName>" --resource-group "<resourceGroup>"

Примечание.

Удаление ресурсов не является постоянным , а данные, включая фильтры сетки событий, номера телефонов или другие данные, привязанные к ресурсу, можно восстановить при удалении ресурса.

Дополнительные сведения о других командах см. в статье "Интерфейс командной строки домена".

Необходимые компоненты

Установка пакета SDK

Во-первых, добавьте пакет SDK для управления Служб коммуникации в проект C#:

using Azure.ResourceManager.Communication;

ИД подписки

Необходимо знать идентификатор подписки Azure. Его можно получить на портале:

  1. Войдите в учетную запись Azure.
  2. Выберите "Подписки" на левой боковой панели.
  3. Выберите нужную подписку.
  4. Щелкните "Обзор".
  5. Выберите "Идентификатор подписки".

В этом кратком руководстве предполагается, что вы сохранили идентификатор подписки в переменной среды AZURE_SUBSCRIPTION_ID.

Проверка подлинности

Чтобы взаимодействовать с ресурсом домена, необходимо сначала пройти проверку подлинности в Azure.

Проверка подлинности клиента

Параметр по умолчанию для создания аутентифицированного клиента — использовать DefaultAzureCredential. Так как все API управления проходят через одну конечную точку, чтобы взаимодействовать с ресурсами, необходимо создать только один интерфейс ArmClient верхнего уровня.

Чтобы выполнить проверку подлинности в Azure и создать ArmClient, выполните следующий код:

using System;
using System.Threading.Tasks;
using Azure;
using Azure.Core;
using Azure.Identity;
using Azure.ResourceManager;
using Azure.ResourceManager.Communication;
using Azure.ResourceManager.Resources;
...
// get your azure access token, for more details of how Azure SDK get your access token, please refer to https://learn.microsoft.com/dotnet/azure/sdk/authentication?tabs=command-line
TokenCredential cred = new DefaultAzureCredential();
// authenticate your client
ArmClient client = new ArmClient(cred);

Взаимодействие с ресурсами Azure

Теперь, когда вы прошли проверку подлинности.

Для каждого из следующих примеров мы назначим ресурсы домена существующей службе обмена сообщениями электронной почты.

Если вам нужно создать службу связи с электронной почтой, это можно сделать с помощью портал Azure.

Создание ресурса домена

При создании ресурса домена необходимо указать имя группы ресурсов, имя службы обмена сообщениями электронной почты, имя ресурса и DomainManagement.

Примечание.

Свойство Location всегда имеет значение global.

// this example assumes you already have this EmailServiceResource created on azure
// for more information of creating EmailServiceResource, please refer to the document of EmailServiceResource
string subscriptionId = "11112222-3333-4444-5555-666677778888";
string resourceGroupName = "MyResourceGroup";
string emailServiceName = "MyEmailServiceResource";
ResourceIdentifier emailServiceResourceId = EmailServiceResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, emailServiceName);
EmailServiceResource emailServiceResource = client.GetEmailServiceResource(emailServiceResourceId);

// get the collection of this CommunicationDomainResource
CommunicationDomainResourceCollection collection = emailServiceResource.GetCommunicationDomainResources();

// invoke the operation
string domainName = "AzureManagedDomain";
CommunicationDomainResourceData data = new CommunicationDomainResourceData(new AzureLocation("Global"))
{
    DomainManagement = DomainManagement.AzureManaged,
};
ArmOperation<CommunicationDomainResource> lro = await collection.CreateOrUpdateAsync(WaitUntil.Completed, domainName, data);            
CommunicationDomainResource result = lro.Value;

// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
CommunicationDomainResourceData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");

Управление ресурсами домена

Обновление ресурса домена

...
// this example assumes you already have this CommunicationDomainResource created on azure
// for more information of creating CommunicationDomainResource, please refer to the document of CommunicationDomainResource
string subscriptionId = "11112222-3333-4444-5555-666677778888";
string resourceGroupName = "MyResourceGroup";
string emailServiceName = "MyEmailServiceResource";
string domainName = "AzureManagedDomain";
ResourceIdentifier communicationDomainResourceId = CommunicationDomainResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, emailServiceName, domainName);
CommunicationDomainResource communicationDomainResource = client.GetCommunicationDomainResource(communicationDomainResourceId);

// invoke the operation
CommunicationDomainResourcePatch patch = new CommunicationDomainResourcePatch()
{
    Tags =
    {
    ["newTag"] = "newVal",
    },
};
ArmOperation<CommunicationDomainResource> lro = await communicationDomainResource.UpdateAsync(WaitUntil.Completed, patch);
CommunicationDomainResource result = lro.Value;

// the variable result is a resource, you could call other operations on this instance as well
// but just for demo, we get its data from this resource instance
CommunicationDomainResourceData resourceData = result.Data;
// for demo we just print out the id
Console.WriteLine($"Succeeded on id: {resourceData.Id}");

Список по службе электронной почты

// this example assumes you already have this EmailServiceResource created on azure
// for more information of creating EmailServiceResource, please refer to the document of EmailServiceResource
string subscriptionId = "11112222-3333-4444-5555-666677778888";
string resourceGroupName = "MyResourceGroup";
string emailServiceName = "MyEmailServiceResource";
ResourceIdentifier emailServiceResourceId = EmailServiceResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, emailServiceName);
EmailServiceResource emailServiceResource = client.GetEmailServiceResource(emailServiceResourceId);

// get the collection of this CommunicationDomainResource
CommunicationDomainResourceCollection collection = emailServiceResource.GetCommunicationDomainResources();

// invoke the operation and iterate over the result
await foreach (CommunicationDomainResource item in collection.GetAllAsync())
{
    // the variable item is a resource, you could call other operations on this instance as well
    // but just for demo, we get its data from this resource instance
    CommunicationDomainResourceData resourceData = item.Data;
    // for demo we just print out the id
    Console.WriteLine($"Succeeded on id: {resourceData.Id}");
}

Console.WriteLine($"Succeeded");

Получение ресурса домена

// this example assumes you already have this EmailServiceResource created on azure
// for more information of creating EmailServiceResource, please refer to the document of EmailServiceResource
string subscriptionId = "11112222-3333-4444-5555-666677778888";
string resourceGroupName = "MyResourceGroup";
string emailServiceName = "MyEmailServiceResource";
ResourceIdentifier emailServiceResourceId = EmailServiceResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, emailServiceName);
EmailServiceResource emailServiceResource = client.GetEmailServiceResource(emailServiceResourceId);

// get the collection of this CommunicationDomainResource
CommunicationDomainResourceCollection collection = emailServiceResource.GetCommunicationDomainResources();

// invoke the operation
string domainName = "AzureManagedDomain";
bool result = await collection.ExistsAsync(domainName);

Console.WriteLine($"Succeeded: {result}");

Очистка ресурса домена

// this example assumes you already have this CommunicationDomainResource created on azure
// for more information of creating CommunicationDomainResource, please refer to the document of CommunicationDomainResource
string subscriptionId = "11112222-3333-4444-5555-666677778888";
string resourceGroupName = "MyResourceGroup";
string emailServiceName = "MyEmailServiceResource";
string domainName = "AzureManagedDomain";
ResourceIdentifier communicationDomainResourceId = CommunicationDomainResource.CreateResourceIdentifier(subscriptionId, resourceGroupName, emailServiceName, domainName);
CommunicationDomainResource communicationDomainResource = client.GetCommunicationDomainResource(communicationDomainResourceId);

// invoke the operation
await communicationDomainResource.DeleteAsync(WaitUntil.Completed);

Console.WriteLine($"Succeeded");

Примечание.

Удаление ресурсов не является постоянным , а данные, включая фильтры сетки событий, номера телефонов или другие данные, привязанные к ресурсу, можно восстановить при удалении ресурса.

Необходимые компоненты

Создание ресурса домена

Чтобы создать ресурс домена, войдите в учетную запись Azure с помощью Connect-AzAccount следующей команды и укажите свои учетные данные.

PS C:\> Connect-AzAccount

Сначала необходимо установить модуль Служб коммуникации Azure Az.Communication с помощью следующей команды.

PS C:\> Install-Module Az.Communication

Выполните следующую команду, чтобы создать ресурс управляемого домена Azure:

PS C:\> New-AzEmailServiceDomain -ResourceGroupName ContosoResourceProvider1 -EmailServiceName ContosoEmailServiceResource1 -Name AzureManagedDomain -DomainManagement AzureManaged

Вы можете настроить ресурс домена с помощью следующих параметров:

  • Группа ресурсов
  • Имя ресурса служб коммуникации электронной почты.
  • Имя ресурса домена:
    • Для доменов Azure имя должно быть — AzureManagedDomain.
  • Значение свойства управления доменами.
    • Для доменов Azure значение должно быть AzureManaged.

На следующем шаге можно назначить теги ресурсу домена. Теги можно использовать для упорядочивания ресурсов домена. Дополнительные сведения о тегах см. в документации по тегам ресурсов.

Управление ресурсом домена

Чтобы добавить теги в ресурс домена, выполните следующие команды. Вы также можете ориентироваться на конкретную подписку.

PS C:\> Update-AzEmailServiceDomain -Name AzureManagedDomain -EmailServiceName ContosoEmailServiceResource1 -ResourceGroupName ContosoResourceProvider1 -Tag @{ExampleKey1="ExampleValue1"}

PS C:\> Update-AzEmailServiceDomain -Name AzureManagedDomain -EmailServiceName ContosoEmailServiceResource1 -ResourceGroupName ContosoResourceProvider1 -Tag @{ExampleKey1="ExampleValue1"} -SubscriptionId SubscriptionID

Чтобы получить список всех ресурсов домена в данной службе коммуникации электронной почты, используйте следующую команду:

PS C:\> Get-AzEmailServiceDomain -EmailServiceName ContosoEmailServiceResource1 -ResourceGroupName ContosoResourceProvider1

Чтобы получить список всех сведений о заданном ресурсе домена, используйте следующую команду:

PS C:\> Get-AzEmailServiceDomain -Name AzureManagedDomain -EmailServiceName ContosoEmailServiceResource1 -ResourceGroupName ContosoResourceProvider1

Очистка ресурса домена

Если вы хотите очистить и удалить ресурс домена, можно удалить ресурс домена, выполнив следующую команду:

PS C:\> Remove-AzEmailServiceDomain -Name AzureManagedDomain -EmailServiceName ContosoEmailServiceResource1 -ResourceGroupName ContosoResourceProvider1

Примечание.

Удаление ресурсов не является постоянным , а данные, включая фильтры сетки событий, номера телефонов или другие данные, привязанные к ресурсу, можно восстановить при удалении ресурса.

Управляемые домены Azure по сравнению с пользовательскими доменами

Перед подготовкой управляемого домена Azure ознакомьтесь со следующей таблицей, чтобы решить, какой тип домена лучше всего соответствует вашим потребностям.

Управляемые домены Azure Пользовательские домены
Преимущества. — Быстрая и простая настройка
— проверка домена не требуется
— Сообщения электронной почты отправляются из собственного домена
Недостатки. — домен отправителя не персонализирован и не может быть изменен
— имена пользователей отправителя не могут быть персонализированы
— очень ограниченный том отправки
— Отслеживание взаимодействия пользователей не может быть включено
— требуется проверка записей домена
— более длинная настройка для проверки

Проверка подлинности отправителя для управляемого домена Azure

Службы коммуникации Azure автоматически настраивает необходимые протоколы проверки подлинности электронной почты для электронной почты, как описано в описанииРекомендации по проверке подлинности электронной почты.

Ваш домен электронной почты теперь готов к отправке сообщений электронной почты.

Следующие шаги