Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se describe cómo enviar correo electrónico mediante el Protocolo simple de transferencia de correo (SMTP).
Prerrequisitos
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- La versión más reciente de la biblioteca cliente de .NET Core para su sistema operativo.
- Un recurso de correo electrónico de comunicación de Azure creado y listo con un dominio aprovisionado. Introducción a la creación de un recurso de comunicación por correo electrónico
- Un recurso activo de Azure Communication Services conectado con el dominio de correo electrónico y una cadena de conexión. Comenzar conectando el recurso de correo electrónico con un recurso de comunicación
- Credenciales SMTP creadas mediante una aplicación de Microsoft Entra con acceso al recurso de Azure Communication Services. Creación de credenciales para la autenticación de Protocolo simple de transferencia de correo (SMTP)
Completar este artículo conlleva un pequeño costo de unos pocos centavos de USD o menos en su cuenta de Azure.
Nota:
También puede enviar un correo electrónico desde su propio dominio comprobado. Agregar dominios personalizados verificados a Email Communication Services.
En este artículo se describe cómo enviar correo electrónico con Azure Communication Services mediante SMTP.
Comprobación de requisitos previos
- En una ventana de terminal o de comandos, ejecute
dotnet
para comprobar que la biblioteca cliente de .NET esté instalada. - Para ver los subdominios asociados con el recurso de correo electrónico de Comunicación de Azure, inicie sesión en Azure Portal. Busque el recurso de correo electrónico de comunicación de Azure y abra la pestaña Aprovisionar dominios en el panel de navegación izquierdo.
Creación de una aplicación de C#
En una ventana de consola (por ejemplo, cmd, PowerShell o Bash), use el comando dotnet new
para crear una nueva aplicación de consola con el nombre EmailQuickstart
. Este comando crea un proyecto sencillo de C# "Hola mundo" con un único archivo de código fuente: Program.cs.
dotnet new console -o EmailSmtpQuickstart
Cambie el directorio a la carpeta de la aplicación recién creada y use el comando dotnet build
para compilar la aplicación.
cd EmailSmtpQuickstart
dotnet build
Construcción del mensaje de correo electrónico
Para construir un mensaje de correo electrónico, debe:
- Defina las credenciales de autenticación SMTP mediante el identificador de Entra de Microsoft.
- Defina el asunto y el cuerpo del correo electrónico.
- Defina la dirección del remitente. Obtenga la dirección MailFrom del dominio comprobado.
- Defina la dirección del destinatario.
Reemplace por los detalles del dominio y modifique el contenido. Agregue los detalles del destinatario según sea necesario.
//Replace with your domain and modify the content, recipient details as required
string smtpAuthUsername = "<SMTP Username>";
string smtpAuthPassword = "<Entra Application Client Secret>";
string sender = "donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net";
string recipient = "emailalias@contoso.com";
string subject = "Welcome to Azure Communication Service Email SMTP";
string body = "This email message is sent from Azure Communication Service Email using SMTP.";
Envío de un correo electrónico mediante System.Net.Mail.SmtpClient
Para enviar un mensaje de correo electrónico, debe hacer lo siguiente:
- Cree un
SmtpClient
mediante la dirección URL del host de Azure Communication Services y las credenciales de autenticación SMTP. - Cree un MailMessage.
- Enviar mediante el método Send
SmtpClient
.
using System.Net;
using System.Net.Mail;
string smtpAuthUsername = "<SMTP Username>";
string smtpAuthPassword = "<Entra Application Client Secret>";
string sender = "donotreply@xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.azurecomm.net";
string recipient = "emailalias@contoso.com";
string subject = "Welcome to Azure Communication Service Email SMTP";
string body = "This email message is sent from Azure Communication Service Email using SMTP.";
string smtpHostUrl = "smtp.azurecomm.net";
var client = new SmtpClient(smtpHostUrl)
{
Port = 587,
Credentials = new NetworkCredential(smtpAuthUsername, smtpAuthPassword),
EnableSsl = true
};
var message = new MailMessage(sender, recipient, subject, body);
try
{
client.Send(message);
Console.WriteLine("The email was successfully sent using Smtp.");
}
catch (Exception ex)
{
Console.WriteLine($"Smtp send failed with the exception: {ex.Message}.");
}
Prerrequisitos
- Una cuenta de Azure con una suscripción activa. Cree una cuenta gratuita.
- Un recurso de correo electrónico de comunicación de Azure creado y listo con un dominio aprovisionado. Introducción a la creación de un recurso de comunicación por correo electrónico
- Un recurso activo de Azure Communication Services conectado con el dominio de correo electrónico y una cadena de conexión. Comenzar conectando el recurso de correo electrónico con un recurso de comunicación
- Credenciales SMTP creadas mediante una aplicación de Microsoft Entra con acceso al recurso de Azure Communication Services. Creación de credenciales para la autenticación de Protocolo simple de transferencia de correo (SMTP)
Completar este inicio rápido incurre en un pequeño coste de unos pocos centavos de dólar o menos en su cuenta de Azure.
Nota:
También podemos enviar un correo electrónico desde nuestro propio dominio verificado. Agregar dominios personalizados verificados a Email Communication Services.
En este artículo se describe cómo enviar correo electrónico con Azure Communication Services mediante SMTP.
Envío de un correo electrónico mediante Send-MailMessage
Las credenciales se pueden comprobar mediante la utilidad Send-MailMessage de Microsoft PowerShell. Consulte Send-MailMessage para obtener la sintaxis.
Para almacenar las credenciales en el formato PSCredential necesario, use los siguientes comandos de PowerShell:
$Password = ConvertTo-SecureString -AsPlainText -Force -String '<Entra Application Client Secret>'
$Cred = New-Object -TypeName PSCredential -ArgumentList '<SMTP Username>', $Password
Use el siguiente script de PowerShell para enviar el correo electrónico. El valor From es la dirección de correo de tu dominio verificado. El valor Para es la dirección de correo electrónico a la que desea enviar.
Send-MailMessage -From 'User01 <user01@fabrikam.com>' -To 'User02 <user02@fabrikam.com>' -Subject 'Test mail' -Body 'test' -SmtpServer 'smtp.azurecomm.net' -Port 587 -Credential $Cred -UseSsl