Démarrage rapide : Comment ajouter des domaines managés Azure à Email Communication Service

Dans ce démarrage rapide, vous apprendrez comment approvisionner le domaine managé Azure vers les services de communication par e-mail dans Azure Communication Services.

Prérequis

Provisionner un domaine managé Azure

  1. Ouvrez la page de présentation de la ressource du service de communication par e-mail que vous avez créée dans Bien démarrer avec la création d’une ressource de communication par e-mail.

  2. Créez un domaine managé Azure à l’aide de l’une des options suivantes.

    • (Option 1) Cliquez sur le bouton Ajouter en un clic sous Ajouter un sous-domaine Azure gratuit. Passez à l’étape 3.

    Capture d’écran mettant en évidence l’ajout d’un domaine managé Azure gratuit.

    • (Option 2) Cliquez sur Provisionner des domaines dans le volet de navigation gauche.

    Capture d’écran montrant la page de navigation Provisionner des domaines.

    • Cliquez sur Ajouter un domaine dans le volet de navigation du haut.
    • Sélectionnez Domaine Azure dans la liste déroulante.
  3. Attendez la fin du déploiement.

    Capture d’écran montrant le progrès du déploiement.

  4. Une fois le domaine créé, vous verrez une liste contenant le nouveau domaine.

    Capture d’écran montrant la liste des domaines de courrier provisionnés.

  5. Cliquez sur le nom du domaine approvisionné pour ouvrir la page de présentation du type de ressource de domaine.

    Capture d’écran montrant la page de présentation du domaine managé Azure.

Prérequis

Create une ressource de domaine

Pour créer une ressource de domaine, connectez-vous à Azure CLI. Vous pouvez vous connecter en exécutant la commande az login à partir du terminal et fournir vos informations d’identification. Pour créer la ressource, exécutez la commande suivante :

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

Si vous souhaitez sélectionner un abonnement particulier, vous pouvez également spécifier l’indicateur --subscription et fournir l’ID d’abonnement.

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

Vous pouvez configurer votre ressource de domaine avec les options suivantes :

  • Le groupe de ressources
  • Nom de la ressource Email Communication Services
  • Zone géographique à laquelle associer la ressource
  • Le nom du domaine de ressource :
    • Pour les domaines Azure, le nom doit être AzureManagedDomain.
  • Valeur de la propriété de gestion de domaine.
    • Pour les domaines Azure, la valeur doit être AzureManaged.

À l’étape suivante, vous pouvez attribuer des étiquettes à la ressource de domaine. Les étiquettes peuvent être utiles pour organiser vos domaines de ressources. Pour plus d’informations sur les étiquettes, consultez la documentation sur l’étiquetage des ressources.

Gérer les ressources de votre domaine

Pour ajouter des balises à votre ressource Domaine, exécutez les commandes suivantes. Vous pouvez également cibler un abonnement spécifique.

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>"

Pour dresser la liste de toutes les ressources de votre domaine dans un service de communication par e-mail donné, utilisez la commande suivante :

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

Pour afficher toutes les informations d’un domaine de ressource spécifique, utilisez la commande suivante :

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

Nettoyer une ressource de domaine

Si vous souhaitez nettoyer et supprimer une ressource de domaine, vous pouvez supprimer en exécutant la commande suivante.

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

Remarque

La suppression d’une ressource est définitive, et aucune donnée, y compris les filtres d’événements, les numéros de téléphone ou autres informations liées à la ressource, ne peut être récupérée une fois la ressource supprimée.

Pour plus d’informations sur d’autres commandes, consultez la CLI de domaine.

Prérequis

Installation du SDK

Tout d’abord, incluez le SDK Communication Services Management dans votre projet C# :

using Azure.ResourceManager.Communication;

ID d’abonnement

Vous devez connaître l’ID de votre abonnement Azure. Vous pouvez l’obtenir à partir du portail :

  1. Connectez-vous à votre compte Azure
  2. Sélectionnez Abonnements dans la barre latérale gauche
  3. Sélectionnez l’abonnement à utiliser
  4. Cliquez sur Vue d’ensemble
  5. Sélectionnez votre ID d’abonnement

Dans ce guide de démarrage rapide, nous supposons que vous avez stocké l’ID d’abonnement dans une variable d’environnement appelée AZURE_SUBSCRIPTION_ID.

Authentification

Pour communiquer avec une ressource de domaine, vous devez d’abord vous authentifier auprès d’Azure.

Authentifier le client

L’option par défaut permettant de créer un client authentifié consiste à utiliser DefaultAzureCredential. Du fait que toutes les API de gestion passent par le même point de terminaison, vous ne devez créer qu’un seul ArmClient de niveau supérieur pour interagir avec des ressources.

Pour vous authentifier à Azure et créer un ArmClient, effectuez le code suivant :

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

Interaction avec des ressources Azure

Vous êtes maintenant authentifié(e).

Pour chacun des exemples suivants, nous affecterons nos ressources de domaine à un service de communication par e-mail existant.

Si vous devez créer un service de communication par e-mail, vous pouvez le faire à l’aide du portail Azure.

Create une ressource de domaine

Lors de la création d’une ressource Domaine, vous devez spécifier le nom du groupe de ressources, le nom du service de communication par courriel, le nom de la ressource et DomainManagement.

Remarque

La propriété Location a toujours la valeur 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}");

Gérer les ressources de votre domaine

Mettre à jour une ressource de domaine

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

Répertorier par service d- e-mail

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

Obtenir des ressources de domaine

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

Nettoyer une ressource de domaine

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

Remarque

La suppression d’une ressource est définitive, et aucune donnée, y compris les filtres d’événements, les numéros de téléphone ou autres informations liées à la ressource, ne peut être récupérée une fois la ressource supprimée.

Prérequis

Create une ressource de domaine

Pour créer une ressource de domaine, connectez-vous à votre compte Azure en utilisant la Connect-AzAccount à l’aide de la commande suivante et fournissez vos informations d’identification.

PS C:\> Connect-AzAccount

Tout d’abord, assurez-vous d’installer le module Azure Communication Services Az.Communication à l’aide de la commande suivante.

PS C:\> Install-Module Az.Communication

Exécutez la commande suivante pour créer la ressource de domaine managé Azure :

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

Vous pouvez configurer votre ressource de domaine avec les options suivantes :

  • Le groupe de ressources
  • Nom de la ressource Email Communication Services.
  • Le nom du domaine de ressource :
    • Pour les domaines Azure, le nom doit être – AzureManagedDomain.
  • Valeur de la propriété de gestion de domaine.
    • Pour les domaines Azure, la valeur doit être AzureManaged.

À l’étape suivante, vous pouvez attribuer des étiquettes à la ressource de domaine. Les étiquettes peuvent être utiles pour organiser vos domaines de ressources. Pour plus d’informations sur les étiquettes, consultez la documentation sur l’étiquetage des ressources.

Gérer les ressources de votre domaine

Pour ajouter des balises à votre ressource Domaine, exécutez les commandes suivantes. Vous pouvez également cibler un abonnement spécifique.

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

Pour dresser la liste de toutes les ressources de votre domaine dans un service de communication par e-mail donné, utilisez la commande suivante :

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

Pour afficher toutes les informations d’un domaine de ressource spécifique, utilisez la commande suivante :

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

Nettoyer une ressource de domaine

Si vous souhaitez nettoyer et supprimer une ressource de domaine, vous pouvez supprimer votre ressource de domaine en exécutant la commande suivante :

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

Remarque

La suppression d’une ressource est définitive, et aucune donnée, y compris les filtres d’événements, les numéros de téléphone ou autres informations liées à la ressource, ne peut être récupérée une fois la ressource supprimée.

Domaines managés Azure comparés aux domaines personnalisés

Avant d’approvisionner un domaine managé Azure, examinez le tableau suivant pour déterminer le type de domaine le mieux adapté à vos besoins.

Domaines managés Azure Domaines personnalisés
Avantages : – L’installation est rapide et facile
– Aucune vérification de domaine requise
– Les e-mails sont envoyés à partir de votre propre domaine
Inconvénients : – Le domaine de l’expéditeur n’est pas personnalisé et ne peut pas être modifié
– Les noms d’utilisateur des expéditeurs ne peuvent pas être personnalisés
– Volume d’envoi très limité
– Le suivi d’engagement utilisateur ne peut pas être activé
– Nécessite une vérification des enregistrements de domaine
– Configuration plus longue pour la vérification

Authentification de l’expéditeur pour un domaine managé Azure

Azure Communication Services configure automatiquement les protocoles d’authentification de messagerie nécessaires pour l’e-mail, comme indiqué dans Bonnes pratiques d’authentification pour les e-mails.

Votre domaine de messagerie est maintenant prêt à envoyer des e-mails.

Étapes suivantes