Início Rápido: como adicionar Domínios Gerenciados do Azure ao Serviço de Comunicação por Email

Neste início rápido, você aprenderá a provisionar o Domínio Gerenciado do Azure para o Serviço de Comunicação por Email nos Serviços de Comunicação do Azure.

Pré-requisitos

Provisionar o Domínio Gerenciado do Azure

  1. 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.

  2. 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.

    Captura de tela que realça a adição de um Domínio Gerenciado do Azure gratuito.

    • (Opção 2) Clique em Provisionar Domínios no painel de navegação esquerdo.

    Captura de tela que mostra a página de navegação Provisionar domínios.

    • Clique em Adicionar domínio na barra de navegação superior.
    • Selecione o domínio do Azure na lista suspensa.
  3. Aguarde até que a implantação seja concluída.

    Captura de tela que mostra o Progresso de Implantação.

  4. Depois que o domínio for criado, você verá uma exibição de lista com o novo domínio.

    Captura de tela que mostra a lista de domínios de email provisionados.

  5. Clique no nome do domínio provisionado, para abrir a página de visão geral do tipo de recurso de domínio.

    Captura de tela que mostra a página de visão geral do Domínio Gerenciado do Azure.

Pré-requisitos

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

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:

  1. Fazer logon na sua conta do Azure
  2. Selecione Assinaturas na barra lateral à esquerda
  3. Selecione qualquer assinatura necessária
  4. Clique em Visão Geral
  5. 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://video2.skills-academy.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 = "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}");

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 = "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}");

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

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 = "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}");

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

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

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

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