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
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Un recurso de correo electrónico de Azure Communication Services creado y listo para agregar los dominios. Consulte Introducción a la creación de recursos de comunicación de correo electrónico.
Aprovisionamiento de un dominio administrado de Azure
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.
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.
- (Opción 2) Haga clic en Aprovisionar dominio en el panel de navegación izquierdo.
- Haga clic en Agregar dominio en la barra de navegación superior.
- Seleccione Dominio de Azure en la lista desplegable.
Espere a que la implementación se complete.
Una vez creado el dominio, verás una vista de lista con el nuevo dominio.
Haz clic en el nombre del dominio aprovisionado para abrir la página de información general del tipo de recurso de dominio.
Requisitos previos
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Instalación de la CLI de Azure
- Cree un Email Communication Service.
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
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- La versión más reciente del SDK de .NET Core para su sistema operativo.
- Obtenga la versión más reciente del SDK de .NET Identity.
- Obtenga la versión más reciente del SDK de administración de .NET.
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:
- Inicie sesión en la cuenta de Azure.
- Seleccione Suscripciones en la barra lateral izquierda
- Seleccione la suscripción que necesite.
- Haga clic en Información general.
- 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
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Instale el módulo Azure Az PowerShell.
- Cree un Email Communication Service.
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
Inicio rápido: Conexión de un dominio de correo electrónico verificado
Envío de un correo electrónico mediante Azure Communication Service
Artículos relacionados
- Familiarícese con la biblioteca cliente de correo electrónico.
- Revise los límites de errores de correo electrónico, los límites de velocidad y los límites de tamaño de Límites del servicio para Azure Communication Services > Email.
- Aprenda a enviar correos electrónicos con dominios verificados personalizados en Inicio rápido: Incorporación de dominios de correo electrónico verificados personalizados.