Integración de MailKit con Email Delivery

Utilice MailKit para enviar correos electrónicos mediante el servicio Email Delivery.

Configuración de MailKit para enviar correo electrónico a través de Email Delivery

MailKit es un marco de correo electrónico multiplataforma de código abierto para aplicaciones .NET. Dado que SmtpClient ya no es un enfoque sugerido para enviar correos en aplicaciones .NET, puede utilizar MailKit para enviar y recibir correos electrónicos a través de Email Delivery. Antes de utilizar MailKit, configure un código MailKit de ejemplo y pruébelo con la configuración de Email Delivery.

Importante

Las siguientes instrucciones contienen código de ejemplo para su comodidad y se deben utilizar como referencia.

Para configurar el código de ejemplo MailKit y probar la configuración de Email Delivery:

  1. Asegúrese de que Email Delivery está configurado para enviar correo electrónico. Consulte Introducción.

    Nota

    Para configurar MailKit para utilizar Email Delivery, se necesitan las credenciales SMTP. Asegúrese de anotar el nombre de usuario y la contraseña al generar las credenciales SMTP.

  2. Para crear un proyecto en Visual Studio Code:

    1. Cree un espacio de proyecto creando una carpeta con el nombre OCIEmail.
    2. Abra la carpeta OCIEmail en Archivo de código VS > Abrir carpeta.
    3. Abra la ventana de terminal (ctrl + ~).
    4. Para crear la plantilla de proyecto y agregar la dependencia de MailKit, ejecute los siguientes comandos en el terminal.
      dotnet new console --framework net6.0
      dotnet add package MailKit --version 2.15.0 

      Amplíe el proyecto en la ventana VS Code Explorer.

  3. Sustituya el contenido del archivo Program.cs por el siguiente bloque de código:
    using System;
    
    using MailKit.Net.Smtp;
    using MailKit;
    using MimeKit;
    
    namespace Program {
        class TestOCIEmail
        {
            public static void Main (string[] args)
            {
                var message = new MimeMessage ();
                message.From.Add (new MailboxAddress ("<FROM NAME>", "<FROM>"));
                message.To.Add (new MailboxAddress ("<TO NAME>", "<TO>"));
                message.Subject = "Mail from OCI ED service";
    
                message.Body = new TextPart ("Html") {
                    Text = @"
                    <h1>OCI Email Delivery test</h1>
                    <p>This email was sent with OCI Email Delivery using the 
                    <a href='https://github.com/jstedfast/MailKit'>MailKit Package</a>
                    for .Net .</p>"
                };
    
                using (var client = new SmtpClient ()) {
    
                    var host = "<HOST>";
                    var port = 587;
                    var username = "<smtp username>";
                    var password = "<smtp password>";
                    
                    client.Connect (host, port, false);
    
                    client.Authenticate (username, password);
    
                    client.Send (message);
                    client.Disconnect (true);
                }
               Console.WriteLine("Email send successfully !!");
            }
        }
    }
    
  4. Sustituya los siguientes parámetros por sus valores en el archivo Program.cs:
    1. FROM: sustituya por la dirección de correo electrónico del remitente. Asegúrese de que esta dirección de correo electrónico se ha agregado a la lista de remitentes aprobados en Email Delivery.
    2. TO: sustituya por la dirección de correo electrónico del destinatario.
    3. Credenciales de SMTP: sustituya smtp_username y smtp_password por el nombre de usuario y la contraseña SMTP de Oracle Cloud Infrastructure generados en la consola.
    4. HOST: sustituya por el punto final SMTP de Email Delivery. Por ejemplo, smtp.us-ashburn-1.oraclecloud.com.
  5. Guarde los cambios y ejecute el siguiente comando para enviar el correo:
    dotnet run
  6. Revise el resultado. Si el correo electrónico se ha enviado correctamente, la consola mostrará El correo electrónico se ha enviado correctamente. De lo contrario, aparecerá un mensaje de error.
  7. Conéctese al buzón del destinatario para verificar la recepción del correo electrónico.