Compartir vía


Inicio rápido: Cómo agregar dominios administrados de Azure a Email Communication Service

En este artículo se describe cómo aprovisionar un Dominio administrado de Azure para Email Communication Service en Azure Communication Services.

Requisitos previos

Aprovisionamiento de un dominio administrado de Azure

  1. Abre la página Información general del recurso de Email Communications Service que creaste en Introducción a la creación de un recurso de comunicación de correo electrónico.

  2. Crea un dominio administrado de Azure con una de las siguientes opciones.

    • (Opción 1) Haga clic en el botón para agregar con un clic en Agregar un subdominio gratuito de Azure. Continúa con el paso 3.

    Captura de pantalla que resalta la adición de un dominio administrado de Azure gratuito.

    • (Opción 2) Haga clic en Aprovisionar dominio en el panel de navegación izquierdo.

    Captura de pantalla que muestra la página de navegación para aprovisionar dominios.

    • Haga clic en Agregar dominio en la barra de navegación superior.
    • Seleccione Dominio de Azure en la lista desplegable.
  3. Espere a que la implementación se complete.

    Captura de pantalla que muestra el progreso de la implementación.

  4. Una vez creado el dominio, verás una vista de lista con el nuevo dominio.

    Captura de pantalla que muestra la lista de dominios de correo electrónico aprovisionados.

  5. Haz clic en el nombre del dominio aprovisionado para abrir la página de información general del tipo de recurso de dominio.

    Captura de pantalla que muestra la página de información general del dominio administrado de Azure.

Requisitos previos

Creación de un recurso de dominio

Para crear un recurso de dominio, Inicie sesión en la CLI de Azure. Para iniciar sesión, ejecute el comando az login desde el terminal y proporcione sus credenciales. Para crear el recurso, ejecute el siguiente comando:

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

Si quiere seleccionar una suscripción específica, también puede especificar la marca --subscription y proporcionar el identificador de la suscripción.

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

Puede configurar el recurso de dominio con las siguientes opciones:

  • El grupo de recursos
  • El nombre del recurso de Email Communication Services
  • La geografía a la que se asociará el recurso
  • Nombre del recurso Dominio:
    • En el caso de los dominios de Azure, el nombre debe ser AzureManagedDomain.
  • Valor de la propiedad Administración de dominios.
    • En el caso de los dominios de Azure, el valor debe ser AzureManaged.

En el paso siguiente, puede asignar etiquetas al recurso de dominio. Las etiquetas se pueden usar para organizar los recursos de dominio. Para más información sobre las etiquetas, consulte la documentación sobre las etiquetas de recursos.

Administración del recurso de dominio

Para agregar etiquetas al recurso dominio, ejecute los siguientes comandos. También puede usar una suscripción específica como destino.

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 enumerar todos los recursos de dominio en Email Communication Service determinado, use el siguiente comando:

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

Para mostrar toda la información de un recurso de dominio determinado, use el siguiente comando:

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

Limpieza del recurso de dominio

Si desea limpiar y quitar un recurso de dominio, puede hacerlo ejecutando el siguiente comando.

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

Nota:

La eliminación de recursos es permanente y, si los elimina, no se puede recuperar ningún dato, filtros de Event Grid, números de teléfono u otros datos vinculados a los recursos incluidos.

Para obtener información sobre otros comandos, consulte CLI de dominio.

Requisitos previos

Instalar el SDK

En primer lugar, incluya el SDK de administración de Communication Services en el proyecto de C#:

using Azure.ResourceManager.Communication;

Id. de suscripción

Necesita saber el identificador de su suscripción a Azure. Se puede adquirir en el portal:

  1. Inicie sesión en la cuenta de Azure.
  2. Seleccione Suscripciones en la barra lateral izquierda
  3. Seleccione la suscripción que necesite.
  4. Haga clic en Información general.
  5. Seleccione el identificador de la suscripción.

En este inicio rápido, se supone que ha almacenado el identificador de la suscripción en una variable de entorno denominada AZURE_SUBSCRIPTION_ID.

Autenticación

Para comunicarse con el recurso de dominio, primero debe autenticarse en Azure.

Autenticar el cliente

La opción predeterminada para crear un cliente autenticado es usar DefaultAzureCredential. Dado que todas las API de administración pasan por el mismo punto de conexión, con el fin de interactuar con los recursos, solo se debe crear un ArmClient de nivel superior.

Para autenticarse en Azure y crear un ArmClient, haga lo siguiente:

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

Interacción con los recursos de Azure

Ahora ya está autenticado.

Para cada uno de los ejemplos siguientes, asignaremos nuestros recursos de dominio a un servicio de comunicación de Email.

Si necesita crear un Email Communication Service, puede hacerlo mediante Azure Portal.

Creación de un recurso de dominio

Al crear un recurso de dominio, debe especificar el nombre del grupo de recursos, el nombre de Email Communication Service, el nombre del recurso y DomainManagement.

Nota:

La propiedad Location es siempre 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}");

Administrar los recursos de dominio

Actualización de un recurso de dominio

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

Enumerar por servicio 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");

Obtener recurso de dominio

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

Limpieza de un recurso de dominio

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

Nota:

La eliminación de recursos es permanente y, si los elimina, no se puede recuperar ningún dato, filtros de Event Grid, números de teléfono u otros datos vinculados a los recursos incluidos.

Requisitos previos

Creación de un recurso de dominio

Para crear un recurso de dominio, inicie sesión en su cuenta Azure mediante el comando Connect-AzAccount siguiente y proporcione sus credenciales.

PS C:\> Connect-AzAccount

En primer lugar, asegúrese de instalar el módulo Azure Communication Services Az.Communication con el siguiente comando.

PS C:\> Install-Module Az.Communication

Ejecute el comando siguiente para crear el recurso de dominio administrado de Azure:

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

Puede configurar el recurso de dominio con las siguientes opciones:

  • El grupo de recursos
  • El nombre del recurso de Email Communication Services.
  • Nombre del recurso Dominio:
    • En el caso de los dominios de Azure, el nombre debe ser: AzureManagedDomain.
  • Valor de la propiedad Administración de dominios.
    • En el caso de los dominios de Azure, el valor debe ser AzureManaged.

En el paso siguiente, puede asignar etiquetas al recurso de dominio. Las etiquetas se pueden usar para organizar los recursos de dominio. Para más información sobre las etiquetas, consulte la documentación sobre las etiquetas de recursos.

Administración del recurso de dominio

Para agregar etiquetas al recurso dominio, ejecute los siguientes comandos. También puede usar una suscripción específica como destino.

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 enumerar todos los recursos de dominio en Email Communication Service determinado, use el siguiente comando:

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

Para enumerar toda la información de un recurso de dominio determinado, use el siguiente comando:

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

Limpieza de un recurso de dominio

Si desea limpiar y quitar un recurso de dominio, puede eliminar su recurso de Dominio ejecutando el siguiente comando:

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

Nota:

La eliminación de recursos es permanente y, si los elimina, no se puede recuperar ningún dato, filtros de Event Grid, números de teléfono u otros datos vinculados a los recursos incluidos.

Dominios administrados de Azure en comparación con dominios personalizados

Antes de aprovisionar un dominio administrado de Azure, revisa la tabla siguiente para decidir qué tipo de dominio satisface mejor tus necesidades.

Dominios administrados de Azure Dominios personalizados
Ventajas: - El programa de instalación es rápido y fácil
- No se requiere ninguna comprobación de dominio
- Los correos electrónicos se envían desde su propio dominio
Inconvenientes: - El dominio del remitente no está personalizado y no se puede cambiar
- Los nombres de usuario del remitente no se pueden personalizar
- Volumen de envío muy limitado
- El seguimiento de involucración del usuario no se puede habilitar
- Requiere la comprobación de los registros de dominio
- Configuración más larga para la comprobación

Límites de servicio

Tanto los dominios administrados de Azure como los dominios personalizados están sujetos a límites de servicio. Los límites de servicio incluyen los límites de error, tasa y tamaño. Para más información, consulte Límites de servicio para Azure Communication Services > Correo electrónico.

Autenticación del remitente para el dominio administrado de Azure

Azure Communication Services configura automáticamente los protocolos de autenticación de correo electrónico necesarios para el correo electrónico, tal y como se describe en Procedimientos recomendados de autenticación de correo electrónico.

El dominio de correo electrónico ya está listo para enviar correos electrónicos.

Pasos siguientes