Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается подготовка управляемых доменов Azure для службы коммуникации электронной почты в Службах коммуникации Azure. Плата за подготовку доменов электронной почты не взимается.
Предварительные условия
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Созданный и готовый к добавлению доменов ресурс электронной почты Службы коммуникации Azure. См. статью "Начало работы с созданием ресурса обмена сообщениями электронной почты".
Создание управляемого домена Azure
Откройте страницу "Обзор" ресурса службы обмена сообщениями электронной почты, созданного в разделе "Начало работы с созданием ресурса обмена сообщениями электронной почты".
Создайте управляемый домен Azure с помощью одного из следующих параметров.
- (Вариант 1) Нажмите кнопку 1-клик добавление под Добавить бесплатный поддомен Azure. Перейдите к шагу 3.
- (Вариант 2) Нажмите Настройка доменов на панели навигации слева.
- Нажмите Добавить домен в верхней панели навигации.
- Выберите домен Azure в раскрывающемся списке.
Дождитесь завершения развертывания.
После создания домена вы увидите представление списка с новым доменом.
Щелкните название настроенного домена, чтобы открыть страницу сведений о типе ресурса домена.
Предварительные требования
- Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
- Установите Azure CLI.
- Создайте службу обмена сообщениями электронной почты.
Создание ресурса домена
Чтобы создать ресурс домена, войдите в 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 значение должно быть
- Значение свойства управления доменами.
- Для доменов Azure значение должно быть
AzureManaged
.
- Для доменов Azure значение должно быть
На следующем шаге можно назначить теги ресурсу домена. Теги можно использовать для упорядочивания ресурсов домена. Дополнительные сведения о тегах см. в документации по тегированию ресурсов.
Управление ресурсом домена
Чтобы добавить теги в ресурс домена, выполните следующие команды. Вы также можете нацеливаться на конкретную подписку.
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 = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e";
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 = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e";
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 = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e";
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 = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e";
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 = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e";
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
Сначала установите модуль Az.Communication
Службы коммуникации Azure с помощью следующей команды.
PS C:\> Install-Module Az.Communication
Выполните следующую команду, чтобы создать ресурс управляемого домена Azure:
PS C:\> New-AzEmailServiceDomain -ResourceGroupName ContosoResourceProvider1 -EmailServiceName ContosoEmailServiceResource1 -Name AzureManagedDomain -DomainManagement AzureManaged
Вы можете настроить ресурс домена с помощью следующих параметров:
- Группа ресурсов
- Имя ресурса служб коммуникации электронной почты.
- Имя ресурса домена:
- Для доменов Azure имя должно быть
AzureManagedDomain
.
- Для доменов Azure имя должно быть
- Значение свойства управления доменами.
- Для доменов Azure значение должно быть
AzureManaged
.
- Для доменов Azure значение должно быть
На следующем шаге можно назначить теги ресурсу домена. Теги можно использовать для упорядочивания ресурсов домена. Дополнительные сведения о тегах см. в документации по тегированию ресурсов.
Управление ресурсом домена
Чтобы добавить теги в ресурс домена, выполните следующие команды. Вы также можете нацеливаться на конкретную подписку.
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
Службы коммуникации Azure автоматически настраивают необходимые протоколы проверки подлинности для электронной почты, как описано в Рекомендации по проверке подлинности электронной почты.
Ваш домен электронной почты теперь готов к отправке сообщений электронной почты.
Следующие шаги
Краткое руководство. Подключение проверенного домена электронной почты
Отправка сообщения электронной почты с помощью Службы коммуникации Azure
Связанные статьи
- Ознакомьтесь с клиентской библиотекой электронной почты.
- Просмотрите ограничения на неудачное завершение отправки, ограничения скорости и ограничения размера в возможностях для Службы коммуникации Azure > Электронная почта.
- Узнайте, как отправлять сообщения электронной почты с настраиваемыми проверенными доменами в кратком руководстве. Добавление настраиваемых проверенных доменов электронной почты.