Nota:
- Este tutorial requiere acceso a Oracle Cloud. Para registrarse en una cuenta gratuita, consulte Introducción a Oracle Cloud Infrastructure Free Tier.
- Utiliza valores de ejemplo para las credenciales, el arrendamiento y los compartimentos de Oracle Cloud Infrastructure. Al finalizar el laboratorio, sustituya estos valores por otros específicos de su entorno en la nube.
Configurar el código C-Sharp para utilizar el servicio Oracle Cloud Infrastructure Email Delivery
Introducción
El servicio Oracle Cloud Infrastructure Email Delivery proporciona una solución gestionada rápida y fiable para enviar correos electrónicos transaccionales y de marketing protegidos de gran volumen.
El servicio Email Delivery proporciona las herramientas necesarias para enviar el correo electrónico generado por la aplicación para las comunicaciones esenciales, como confirmaciones, alertas de detección de fraude, verificación de identidad de varios factores y restablecimientos de contraseña.
Nota: La plataforma está optimizada tanto para correo electrónico masivo/de marketing como transaccional, y no para correo electrónico de correspondencia personal.
Si desea enviar correos electrónicos en C# con el servicio Email Delivery de Oracle Cloud Infrastructure (OCI), que utiliza protocolos modernos para enviar correo, ya no se utiliza la clase SmtpClient
de .NET. Sin embargo, podemos utilizar un paquete de código abierto llamado Mailkit que tiene un cliente de correo electrónico que admite una amplia gama de protocolos modernos.
El equipo de capacidad de entrega de correo electrónico de Oracle Cloud Infrastructure gestiona la plataforma mediante métricas clave de capacidad de entrega para garantizar la mejor reputación de envío posible para sus correos electrónicos. Cuando envía correos electrónicos mediante el servicio Email Delivery, se le proporcionan los siguientes elementos:
- Configuraciones SMTP de proveedor de buzón único en nuestros agentes de transferencia de correo (MTA)
- Recopilación de devoluciones
- Recopilación de quejas de los usuarios
- Estándares de autenticación de correo electrónico
- Rendimiento de capacidad de entrega
Cuando se utiliza Email Delivery, se convierte en el servidor de correo electrónico saliente. Si ya dispone de un servidor de correo electrónico, puede conservarlo y configurarlo para que se envíe a través de Email Delivery. El servicio Email Delivery se encarga automáticamente de los bucles de comentarios y la reputación de la plataforma.
Objetivo
Configure el código C# para utilizar el servicio Oracle Cloud Infrastructure Email Delivery.
Requisitos
-
Observe la dirección de GitHub Mailkit: https://github.com/jstedfast/mailkit.
-
Consulte la recomendación de Microsoft sobre no usar la clase
SMTPClient
para conocer los nuevos desarrollos al utilizar protocolos modernos y recomendar MailKit como opción. -
MailKit es muy fácil de instalar, suponiendo que ya tiene el entorno configurado con .NET y el proyecto creado con el código para enviar correos electrónicos, ejecute el siguiente comando para instalar MailKit.
\>\> dotnet add package MailKit \--version 3.5.0
Tarea 1: Configuración de OCI Email Delivery
Nota: La siguiente configuración se realiza por ejemplo y no tiene en cuenta las mejores prácticas para configurar el servicio.
Para obtener más información, consulte Mejores prácticas de capacidad de entrega.
-
En el portal de Oracle Cloud, acceda al servicio OCI Email Delivery.
-
Cree un dominio para enviar mensajes.
-
Configure un remitente aprobado para enviar mensajes.
Tarea 2: Configurar el código C#
-
A continuación se muestra un código de ejemplo que se puede modificar según sus necesidades. Recuerde que ya se debe crear un remitente aprobado en la consola de OCI Email Delivery (como se muestra en la tarea 1).
using System; using MailKit.Net.Smtp; using MailKit; using MimeKit; namespace MyApp // Note: actual namespace depends on the project name. { internal class Program { static void Main(string\[\] args) { try { // Replace these values with the actual values for your email account and OCI Email Delivery service var fromAddress = \"[[user@testdomain.com]{.underline}](mailto:userfrom@testdomain.com)\"; var toAddress = \"[[user@example.com]{.underline}](mailto:userto@example.com)\"; var smtpUsername = \"ocid1.user.oc1..aaaaaaaa4xxxxxxxxxg6vwabewu6f4xxxxxxxxxxhpbe3d56gc7ljwt2a@ocid1.tenancy.oc1..[aaaaaaaah2c25pobzyzvkcznnozputxfxtz3qvewrqaga7z66tdjrgvigbiq.ck.com]{.underline}\"; var smtpPassword = \"XXXXXXXXXXX\"; var smtpHost = \"[[smtp.]{.underline}email[.us-ashburn-1.oci.oraclecloud.com]{.underline}](http://smtp.email.us-ashburn-1.oci.oraclecloud.com)\"; var smtpPort = 587; var message = new MimeMessage (); message.From.Add (new MailboxAddress (\"Ivan Vasquez\", fromAddress)); message.To.Add (new MailboxAddress (\"Ivan Vasquez\", toAddress)); message.Subject = \"Test Email from OCI\"; message.Body = new TextPart (\"Html\") { Text = @\" \<h1\>OCI Email Delivery test\</h1\> \<p\>This email was sent from Email Delivery Service\</p\>\" }; using (var client = new SmtpClient ()) { client.Connect (smtpHost, smtpPort, false); client.Authenticate (smtpUsername, smtpPassword); client.Send (message); client.Disconnect (true); } Console.WriteLine(\"Email send successfully !!\"); } catch (Exception ex) { Console.WriteLine(\"Error sending email: \" + ex.Message); } } } }
-
Cree el código con el siguiente comando:
\>\>dotnet build
. No se muestra ningún error. -
Ejecute el siguiente comando:
\>\>dotnet run
. El correo electrónico se ha enviado correctamente.
Enlaces relacionados
Confirmaciones
Autores: Leandro Camargo (especialista en la nube de A-Team), Ivan Vasquez (especialista en la nube de A-Team)
Más recursos de aprendizaje
Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en un explorador de Oracle Learning.
Para obtener documentación sobre los productos, visite Oracle Help Center.
Set up C-Sharp code to use Oracle Cloud Infrastructure Email Delivery service
F81094-01
May 2023
Copyright © 2023, Oracle and/or its affiliates.