Краткое руководство. Добавление управляемых доменов Azure в службу коммуникации электронной почты
В этом кратком руководстве вы узнаете, как подготовить управляемый домен Azure к службе обмена сообщениями электронной почты в Службы коммуникации Azure.
Необходимые компоненты
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Созданный и готовый к добавлению доменов ресурс электронной почты Службы коммуникации Azure. См. статью "Начало работы с созданием ресурса обмена сообщениями электронной почты".
Подготовка управляемого домена Azure
Откройте страницу "Обзор" ресурса службы обмена сообщениями электронной почты, созданного в разделе "Начало работы с созданием ресурса обмена сообщениями электронной почты".
Создайте управляемый домен Azure с помощью одного из следующих параметров.
- (Вариант 1) Нажмите кнопку Добавить 1 в разделе Добавить бесплатный поддомен Azure. Перейдите к шагу 3.
- (Вариант 2) Щелкните Подготовка доменов на панели навигации слева.
- Нажмите Добавить домен в верхней панели навигации.
- Выберите домен Azure в раскрывающемся списке.
Дождитесь завершения развертывания.
После создания домена вы увидите представление списка с новым доменом.
Щелкните имя подготовленного домена, чтобы открыть страницу обзора для типа ресурса домена.
Необходимые компоненты
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Установка интерфейса командной строки 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>"
Примечание.
Удаление ресурсов не является постоянным , а данные, включая фильтры сетки событий, номера телефонов или другие данные, привязанные к ресурсу, можно восстановить при удалении ресурса.
Дополнительные сведения о других командах см. в статье "Интерфейс командной строки домена".
Необходимые компоненты
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Последняя версия пакета SDK для .NET Core для вашей операционной системы.
- Получите последнюю версию пакета SDK для .NET Identity.
- Получите последнюю версию пакета SDK управления .NET.
Установка пакета SDK
Во-первых, добавьте пакет SDK для управления Служб коммуникации в проект C#:
using Azure.ResourceManager.Communication;
ИД подписки
Необходимо знать идентификатор подписки Azure. Его можно получить на портале:
- Войдите в учетную запись Azure.
- Выберите "Подписки" на левой боковой панели.
- Выберите нужную подписку.
- Щелкните "Обзор".
- Выберите "Идентификатор подписки".
В этом кратком руководстве предполагается, что вы сохранили идентификатор подписки в переменной среды 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 с активной подпиской. Создайте учетную запись бесплатно .
- Установка модуля Azure Az PowerShell
- Создайте службу обмена сообщениями электронной почты.
Создание ресурса домена
Чтобы создать ресурс домена, войдите в учетную запись 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 автоматически настраивает необходимые протоколы проверки подлинности электронной почты для электронной почты, как описано в описанииРекомендации по проверке подлинности электронной почты.
Ваш домен электронной почты теперь готов к отправке сообщений электронной почты.
Следующие шаги
Краткое руководство. Подключение проверенного домена электронной почты
Отправка сообщения электронной почты с помощью Службы коммуникации Azure
Связанные статьи
- Сведения о клиентской библиотеке для электронной почты
- Узнайте, как отправлять сообщения электронной почты с настраиваемыми проверенными доменами в кратком руководстве. Добавление настраиваемых проверенных доменов электронной почты