Início Rápido: como adicionar Domínios Gerenciados do Azure ao Serviço de Comunicação por Email
Este artigo descreve como provisionar um Serviço de Comunicação de Email do Domínio Gerenciado do Azure nos Serviços de Comunicação do Azure.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Um recurso de email dos Serviços de Comunicação do Azure criado e pronto para adicionar os domínios. Consulte Introdução à criação do Recurso de Comunicação por Email.
Provisionar o Domínio Gerenciado do Azure
Abra a página Visão geral do recurso do Serviço de Comunicações por Email que você criou na Introdução à Criação do Recurso de Comunicação de Email.
Crie um Domínio Gerenciado do Azure usando uma das opções a seguir.
- (Opção 1) Clique no botão 1-clique em adicionar em Adicionar um subdomínio gratuito do Azure. Prossiga para a etapa 3.
- (Opção 2) Clique em Provisionar Domínios no painel de navegação esquerdo.
- Clique em Adicionar domínio na barra de navegação superior.
- Selecione o domínio do Azure na lista suspensa.
Aguarde até que a implantação seja concluída.
Depois que o domínio for criado, você verá uma exibição de lista com o novo domínio.
Clique no nome do domínio provisionado, para abrir a página de visão geral do tipo de recurso de domínio.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Instalar a CLI do Azure
- Crie um serviço de comunicação por email.
Criar recurso de domínio
Para criar um recurso de domínio, entre na CLI do Azure. Para se conectar, execute o comando az login
no terminal e forneça suas credenciais. Para criar o recurso, execute o seguinte comando:
az communication email domain create --domain-name AzureManagedDomain --email-service-name "<EmailServiceName>" --location "Global" --resource-group "<resourceGroup>" --domain-management AzureManaged
Se quiser selecionar uma assinatura específica, você também poderá especificar o sinalizador --subscription
e fornecer a ID da assinatura.
az communication email domain create --domain-name AzureManagedDomain --email-service-name "<EmailServiceName>" --location "Global" --resource-group "<resourceGroup>" --domain-management AzureManaged --subscription "<subscriptionId>"
Você pode configurar seu recurso de Domínio com as seguintes opções:
- O grupo de recursos
- O nome do recurso Serviços de Comunicação por Email
- A geografia à qual o recurso será associado
- O nome do recurso de Domínio:
- Para domínios do Azure, o nome deve ser AzureManagedDomain.
- O valor da propriedade de gerenciamento de domínio.
- Para domínios do Azure, o valor deve ser AzureManaged.
Na próxima etapa, você pode atribuir tags ao recurso de domínio. Tags podem ser usadas para organizar os recursos do seu domínio. Para obter mais informações sobre marcas, confira a documentação de marcação de recursos.
Gerencie seu recurso de domínio
Para adicionar tags ao seu recurso de domínio, execute os comandos a seguir. Você também pode direcionar uma assinatura específica.
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>"
Para listar todos os seus recursos de domínio em um determinado serviço de comunicação por email, use o seguinte comando:
az communication email domain list --email-service-name "<EmailServiceName>" --resource-group "<resourceGroup>"
Para mostrar todas as informações sobre um determinado recurso de domínio, use o seguinte comando:
az communication email domain show --domain-name AzureManagedDomain --email-service-name "<EmailServiceName>" --resource-group "<resourceGroup>"
Limpar recurso de domínio
Se quiser limpar e remover um recurso de domínio, você pode excluí-lo executando o seguinte comando.
az communication email domain delete --domain-name AzureManagedDomain --email-service-name "<EmailServiceName>" --resource-group "<resourceGroup>"
Observação
A exclusão de recursos é permanente e nenhum dado, incluindo filtros de grade de eventos, números de telefone ou outros dados vinculados ao recurso, poderá ser recuperado se você excluir o recurso.
Para obter informações sobre outros comandos, veja CLI do Domínio.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- A versão mais recente do SDK do .NET Core para o seu sistema operacional.
- Obtenha a última versão do SDK de Identidade do .NET.
- Obtenha a última versão do SDK do Gerenciamento do .NET.
Instalando o SDK
Primeiro, inclua o SDK de Gerenciamento dos Serviços de Comunicação no seu projeto C#:
using Azure.ResourceManager.Communication;
ID da assinatura
Você precisa saber a ID da sua assinatura do Azure. Isso pode ser adquirido no portal:
- Fazer logon na sua conta do Azure
- Selecione Assinaturas na barra lateral à esquerda
- Selecione qualquer assinatura necessária
- Clique em Visão Geral
- Selecione a sua ID de Assinatura
Neste guia de início rápido, vamos pressupor que você armazenou a ID da assinatura em uma variável de ambiente chamada AZURE_SUBSCRIPTION_ID
.
Autenticação
Para se comunicar com o recurso de domínio, primeiro você deve se autenticar no Azure.
Autenticar o Cliente
A opção padrão para criar um cliente autenticado é usar DefaultAzureCredential. Como todas as APIs de gerenciamento passam pelo mesmo ponto de extremidade, para interagir com os recursos, apenas um ArmClient de nível superior deve ser criado.
Para autenticar no Azure e criar um ArmClient, faça o seguinte código:
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);
Interação com os recursos do Azure
Agora que você está autenticado.
Para cada um dos exemplos a seguir, atribuiremos nossos recursos de domínio a um serviço de comunicação por email existente.
Se você precisar criar um serviço de comunicação por email, poderá fazer isso usando o portal do Azure.
Criar um recurso de domínio
Ao criar um recurso de domínio, você deve especificar o nome do grupo de recursos, o nome do serviço de comunicação por email, o nome do recurso e o DomainManagement.
Observação
A propriedade Location
sempre é 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}");
Gerencie os recursos do seu domínio
Atualizar um recurso de domínio
...
// 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}");
Listar por Serviço de Email
// 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");
Obter recurso de domínio
// 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}");
Limpar um recurso de domínio
// 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");
Observação
A exclusão de recursos é permanente e nenhum dado, incluindo filtros de grade de eventos, números de telefone ou outros dados vinculados ao recurso, poderá ser recuperado se você excluir o recurso.
Pré-requisitos
- Uma conta do Azure com uma assinatura ativa. Crie uma conta gratuitamente.
- Instalar o Módulo do PowerShell Azure Az
- Crie um serviço de comunicação por email.
Criar um recurso de domínio
Para criar um recurso de domínio, entre em sua conta do Azure usando Connect-AzAccount
usando o comando a seguir e forneça suas credenciais.
PS C:\> Connect-AzAccount
Primeiro, instale o módulo Az.Communication
dos Serviços de Comunicação do Azure usando o comando a seguir.
PS C:\> Install-Module Az.Communication
Execute o seguinte comando para criar o recurso de domínio gerenciado do Azure:
PS C:\> New-AzEmailServiceDomain -ResourceGroupName ContosoResourceProvider1 -EmailServiceName ContosoEmailServiceResource1 -Name AzureManagedDomain -DomainManagement AzureManaged
Você pode configurar seu recurso de Domínio com as seguintes opções:
- O grupo de recursos
- O nome do recurso Serviços de Comunicação por Email.
- O nome do recurso de Domínio:
- Para domínios do Azure, o nome deve ser - AzureManagedDomain.
- O valor da propriedade de gerenciamento de domínio.
- Para domínios do Azure, o valor deve ser AzureManaged.
Na próxima etapa, você pode atribuir tags ao recurso de domínio. Tags podem ser usadas para organizar os recursos do seu domínio. Para obter mais informações sobre marcas, confira a documentação de marcação de recursos.
Gerencie seu recurso de domínio
Para adicionar tags ao seu recurso de domínio, execute os comandos a seguir. Você também pode direcionar uma assinatura específica.
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
Para listar todos os seus recursos de domínio em um determinado serviço de comunicação por email, use o seguinte comando:
PS C:\> Get-AzEmailServiceDomain -EmailServiceName ContosoEmailServiceResource1 -ResourceGroupName ContosoResourceProvider1
Para listar todas as informações sobre um determinado recurso de domínio, use o seguinte comando:
PS C:\> Get-AzEmailServiceDomain -Name AzureManagedDomain -EmailServiceName ContosoEmailServiceResource1 -ResourceGroupName ContosoResourceProvider1
Limpar um recurso de domínio
Se você quiser limpar e remover um recurso de domínio, poderá excluir o seu recurso de domínio executando o seguinte comando:
PS C:\> Remove-AzEmailServiceDomain -Name AzureManagedDomain -EmailServiceName ContosoEmailServiceResource1 -ResourceGroupName ContosoResourceProvider1
Observação
A exclusão de recursos é permanente e nenhum dado, incluindo filtros de grade de eventos, números de telefone ou outros dados vinculados ao recurso, poderá ser recuperado se você excluir o recurso.
Domínios Gerenciados do Azure em comparação com Domínios Personalizados
Antes de provisionar um Domínio Gerenciado do Azure, examine a tabela a seguir para decidir qual tipo de domínio melhor atende às suas necessidades.
Domínios Gerenciados do Azure | Domínios personalizados | |
---|---|---|
Vantagens: | – A instalação é fácil e rápida - Nenhuma verificação de domínio necessária |
- Emails são enviados de seu próprio domínio |
Desvantagens: | - O domínio do remetente não é personalizado e não pode ser alterado - Os nomes de usuário do remetente não podem ser personalizados – Volume de envio muito limitado - O Controle de Envolvimento do Usuário não pode ser habilitado |
- Requer verificação de registros de domínio - Configuração mais longa para verificação |
Limites de serviço
Os domínios gerenciados do Azure e os domínios personalizados estão sujeitos aos limites de serviço. Os limites de serviço incluem limites de falha, taxa e tamanho. Para obter mais informações, veja Limites de serviço para serviços de comunicação do Azure > Email.
Autenticação do remetente para o Domínio Gerenciado do Azure
Os Serviços de Comunicação do Azure configuram automaticamente os protocolos de autenticação de email necessários para o email, conforme descrito nas práticas recomendadas de Autenticação de Email.
Seu domínio de email agora está pronto para enviar emails.
Próximas etapas
Artigos relacionados
- Familiarize-se com a Biblioteca de cliente de Email.
- Examine os limites de falha de email, os limites de taxa e os limites de tamanho nos Limites de serviço para os Serviços de Comunicação do Azure > Email.
- Saiba como enviar emails com domínios verificados personalizados no Início Rápido: como adicionar domínios de email verificados personalizados.