Compartir a través de


Enviar correo electrónico con SMTP

En este artículo se describe cómo enviar correo electrónico mediante el Protocolo simple de transferencia de correo (SMTP).

Prerrequisitos

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:

  1. Cree un SmtpClient mediante la dirección URL del host de Azure Communication Services y las credenciales de autenticación SMTP.
  2. Cree un MailMessage.
  3. 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

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