AYUDA .NET

FluentEmail C# (Cómo funciona para desarrolladores)

Actualizado agosto 13, 2024
Compartir:

En la era digital actual, el correo electrónico sigue siendo la piedra angular de la comunicación de empresas y particulares. Integrar una sólida funcionalidad de correo electrónico en las aplicaciones ASP.NET Core es esencial para automatizar las notificaciones, enviar boletines y facilitar las interacciones con los clientes. FluentEmailuna potente biblioteca para .NET, combinada con Mailgun API, ofrece a los desarrolladores una solución perfecta para mejorar las funciones de correo electrónico con fiabilidad y escalabilidad. Más adelante en este artículo, también veremos el IronPDF biblioteca de IronSoftware para generar y gestionar documentos PDF.

Introducción

FluentEmail simplifica el proceso de envío de múltiples mensajes de correo electrónico mediante programación dentro de aplicaciones .NET. Ofrece una interfaz intuitiva y fluida para configurar mensajes de correo electrónico, gestionar archivos adjuntos y manejar listas de destinatarios. Esta biblioteca se abstrae de las complejidades de la configuración SMTP y admite varios proveedores de renderizadores de plantillas y proveedores de servicios de correo electrónico de prueba, incluido Mailgun.

FluentEmail.NET es una biblioteca popular en el ecosistema .NET Core para el envío de correos electrónicos, y es compatible con las plantillas de correo electrónico Razor, así como con las plantillas Liquid para crear cuerpos de correo electrónico de forma dinámica. El uso del renderizador de plantillas Razor con FluentEmail.NET le permite aprovechar la potencia de la sintaxis Razor para crear contenido de correo electrónico dinámico y bien formateado y resolver archivos de diseño.

Esta es una guía básica sobre cómo utilizar FluentEmail.NET con plantillas ASP.NET Core Razor.

Paso 1: Instalar FluentEmail

En primer lugar, debe instalar el paquete FluentEmail y el paquete del renderizador de plantillas Razor utilizando el comando Install-Package o el comando .NET add package:

Install-Package FluentEmail.Core
or
dotnet add package FluentEmail.Core
Install-Package FluentEmail.Razor
or
dotnet add package FluentEmail.Razor
Install-Package FluentEmail.Core
or
dotnet add package FluentEmail.Core
Install-Package FluentEmail.Razor
or
dotnet add package FluentEmail.Razor
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Paso 2: Crear una plantilla de maquinilla de afeitar

Cree una plantilla Razor para el cuerpo de su correo electrónico. Puede ser un archivo `.cshtml` que contenga HTML y sintaxis de código Razor válida. Por ejemplo, cree un archivo llamado `EmailTemplate.cshtml`:

@model YourNamespace.EmailViewModel
<!DOCTYPE html>
<html>
<head>
    <title>Email Template</title>
</head>
<body>
    <h1>Hello, @Model.Name!</h1>
    <p>This is a sample email template.</p>
</body>
</html>
// string template code with very basic defaults
@model YourNamespace.EmailViewModel
<!DOCTYPE html>
<html>
<head>
    <title>Email Template</title>
</head>
<body>
    <h1>Hello, @Model.Name!</h1>
    <p>This is a sample email template.</p>
</body>
</html>
// string template code with very basic defaults
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Asegúrese de reemplazar "YourNamespace.EmailViewModel" con el espacio de nombres real y el nombre de la clase de su modelo de vista o simplemente el modelo de dominio que pasará a esta plantilla.

Paso 3: Configurar FluentEmail con Razor Renderer

Configure FluentEmail para que utilice el renderizador Razor y proporcione las dependencias necesarias:

using FluentEmail.Core;
using FluentEmail.Razor;
public void ConfigureFluentEmail()
{
    FluentEmail.Core.Email.DefaultRenderer = new RazorRenderer();
    // Set up email smtp sender address
    Email.DefaultSender = new SmtpSender(new SmtpClient("smtp.yourserver.com"));
}
using FluentEmail.Core;
using FluentEmail.Razor;
public void ConfigureFluentEmail()
{
    FluentEmail.Core.Email.DefaultRenderer = new RazorRenderer();
    // Set up email smtp sender address
    Email.DefaultSender = new SmtpSender(new SmtpClient("smtp.yourserver.com"));
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Paso 4: Renderizar y enviar correo electrónico

En el código de su aplicación, renderice la plantilla Razor con el modelo deseado y envíe el correo electrónico:

using FluentEmail.Core;
using FluentEmail.Razor;
public void SendEmail()
{
// layout var template
    var template = "EmailTemplate.cshtml"
    var email = Email
        .From("sender@example.com") // default sendfrom address
        .To("recipient@example.com")
        .Subject("Sample Email");
    var model = new EmailViewModel { Name = "John Doe" };
    email.UsingTemplateFromFile(template, model);
    email.Send();
}
using FluentEmail.Core;
using FluentEmail.Razor;
public void SendEmail()
{
// layout var template
    var template = "EmailTemplate.cshtml"
    var email = Email
        .From("sender@example.com") // default sendfrom address
        .To("recipient@example.com")
        .Subject("Sample Email");
    var model = new EmailViewModel { Name = "John Doe" };
    email.UsingTemplateFromFile(template, model);
    email.Send();
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Asegúrese de que `EmailViewModel` coincide con el modelo definido en su plantilla Razor (\ EmailTemplate.cshtml\). Este modelo debe contener propiedades a las que haga referencia en su plantilla Razor (`@Modelo.Nombre`, por ejemplo).

Integración de las claves API de Mailgun

Mailgun es un popular proveedor de servicios de correo electrónico conocido por su fiabilidad, capacidad de entrega y numerosas funciones. Al integrar las claves API de Mailgun con FluentEmail, los desarrolladores pueden aprovechar la infraestructura de Mailgun para enviar correos electrónicos de forma eficaz y segura.

Pasos para integrar las claves API de Mailgun con FluentEmail

  1. Obtener claves API de Mailgun:

    • Regístrese en Mailgun si aún no lo ha hecho.

    • Navegue hasta el Mailgun y cree una nueva clave API. Proporcione una descripción.

    FluentEmail C# (Cómo funciona para desarrolladores): Figura 1 - Mailgun

  2. Instalar el paquete FluentEmail:

     Utilice NuGet Package Manager o Package Manager Console en Visual Studio para instalar FluentMail:
Install-Package FluentEmail.Mailgun
Install-Package FluentEmail.Mailgun
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

o desde Visual Studio

FluentEmail C# (Cómo funciona para desarrolladores): Figura 2 - FluentEmail.Mailgun

  1. Configurar FluentEmail con claves API de Mailgun:

    Configure FluentEmail para utilizar Mailgun como proveedor de servicios de correo electrónico o remitente SMTP configurando sus claves API:

using FluentEmail.Core;
using FluentEmail.Mailgun;
var sender = new MailgunSender("your-domain.com", "your-mailgun-api-key");
Email.DefaultSender = sender;
using FluentEmail.Core;
using FluentEmail.Mailgun;
var sender = new MailgunSender("your-domain.com", "your-mailgun-api-key");
Email.DefaultSender = sender;
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#
  1. Componer y enviar correos electrónicos:

     Utilice la interfaz fluida de FluentEmail para redactar y enviar mensajes de correo electrónico:
var email = Email
        .From("sender@example.com")
        .To("recipient@example.com")
        .Subject("Your Subject Here")
        .Body("Hello, this is a test email sent via FluentMail and Mailgun!")
        .Send();
var email = Email
        .From("sender@example.com")
        .To("recipient@example.com")
        .Subject("Your Subject Here")
        .Body("Hello, this is a test email sent via FluentMail and Mailgun!")
        .Send();
Dim email = Email.From("sender@example.com").To("recipient@example.com").Subject("Your Subject Here").Body("Hello, this is a test email sent via FluentMail and Mailgun!").Send()
VB   C#
  1. Configuración avanzada:

    • Personalice la configuración del correo electrónico, como los archivos adjuntos, el formato HTML, los destinatarios CC/BCC y los encabezados de correo electrónico, mediante la API fluida de FluentEmail.

Ventajas de utilizar FluentEmail con Mailgun

  • Simplicidad: FluentEmail elimina las complejidades de la configuración SMTP, facilitando el envío de correos electrónicos con una configuración mínima.
  • Fiabilidad: Aprovechar la infraestructura de Mailgun garantiza altas tasas de entrega y sólidas capacidades de manejo de correo electrónico.
  • Escalabilidad: Amplíe sus necesidades de envío de correo electrónico sin esfuerzo con la infraestructura escalable de Mailgun, adecuada tanto para aplicaciones a pequeña escala como para soluciones de nivel empresarial.
  • Ricas características: Aproveche las características de Mailgun como el seguimiento, análisis y validación avanzada de correo electrónico para optimizar sus campañas de correo electrónico.

Introducción a IronPDF

FluentEmail C# (Cómo funciona para desarrolladores): Figura 3 - IronPDF

IronPDF es una biblioteca PDF de Node.js que permite generar, gestionar y extraer contenido de documentos PDF en proyectos .NET. Estas son algunas de sus principales características:

  1. Conversión de HTML a PDF:

    • Convierta contenido HTML, CSS y JavaScript en documentos PDF.

    • Motor de renderizado de Chrome para PDF con píxeles perfectos.
    • Genere PDFs a partir de URLs, archivos HTML o cadenas HTML como entrada.
  2. Conversión de imágenes y contenidos:

    • Convierte imágenes a y desde PDF.

    • Extraiga texto e imágenes de documentos PDF existentes.
    • Compatible con varios formatos de imagen, como JPG, PNG, etc.
  3. Edición y manipulación:

    • Establezca las propiedades, la seguridad y los permisos de los archivos PDF.

    • Añade firmas digitales.
    • Editar metadatos e historial de revisiones.

Generar documento PDF utilizando IronPDF y FluentEmail .NET con Mailgun remitente

Para empezar, cree una aplicación de consola utilizando Visual Studio como se indica a continuación.

FluentEmail C# (Cómo funciona para desarrolladores): Figura 4 - Aplicación de consola

Proporcione el nombre del proyecto.

FluentEmail C# (Cómo funciona para desarrolladores): Figura 5 - Configuración del proyecto

Proporcione la versión .NET.

FluentEmail C# (Cómo funciona para los desarrolladores): Figura 6 - Marco de destino

Instale el paquete IronPDF.

FluentEmail C# (Cómo funciona para desarrolladores): Figura 7 - IronPDF

Instale FluentEmail Mailgun.

FluentEmail C# (Cómo funciona para desarrolladores): Figura 8 - FluentEmail.Mailgun

Para recibir mensajes de correo electrónico en la prueba gratuita, el correo electrónico del destinatario debe estar registrado en el panel de control aquí, como se muestra a continuación.

FluentEmail C# (Cómo funciona para desarrolladores): Figura 9 - Panel de Mailgun

using FluentEmail.Core;
using FluentEmail.Mailgun;
namespace CodeSample
{
    public static class FluentMailDemo
    {
        public static void Execute()
        {
            // Instantiate Renderer
            var renderer = new ChromePdfRenderer();
            var content = "<h1>Demo FluentEmail with Mailgun and IronPDF</h1>";
            content += "<h2>Create MailgunSender</h2>";
            content += "<p>1. get API key from app.mailgun.com</p>";
            var domain = "sandboxe26ac376696246a4ad6ceedcfc2b5639.mailgun.org";
            var sender = new MailgunSender(domain, "8b50c68f19de7ddbb129464e129e9d61-6fafb9bf-e36ab713");
            Email.DefaultSender = sender;
            content += "<h2>Prepare Email</h2>";
            content += $"<p>Sender: Santosh@{domain}</p>";
            content += $"<p>Receiver: karanamsantosh99@gmail.com</p>";
            content += $"<p>Subject: Checkout the New Awesome IronPDF Library from IronSoftware</p>";
            content += $"<p>Body: IronPDF is the leading C# PDF library for generating & editing PDFs. It has friendly API and allows developers to rapidly deliver professional, high quality PDFs from HTML in .NET projects.</p>";
            var pdf = renderer.RenderHtmlAsPdf(content);
            // Export to a file or Stream
            pdf.SaveAs("AwesomeFluentEmailAndIron.pdf");
            var email = Email.From("santosh@"+domain)
                .To("karanamsantosh99@gmail.com")
                .Subject("Checkout the New Awesome IronPDF Library from IronSoftware")
                .Body("IronPDF is the leading C# PDF library for generating & editing PDFs. It has friendly API and allows developers to rapidly deliver professional, high quality PDFs from HTML in .NET projects.")
                .Attach(new FluentEmail.Core.Models.Attachment() { Data=File.OpenRead("AwesomeFluentEmailAndIron.pdf"), Filename="AwesomeFluentEmailAndIron.pdf", ContentType="application/pdf" })
                .Send();
            Console.WriteLine($"Is Send Success:{email.Successful}");
        }
    }
}
using FluentEmail.Core;
using FluentEmail.Mailgun;
namespace CodeSample
{
    public static class FluentMailDemo
    {
        public static void Execute()
        {
            // Instantiate Renderer
            var renderer = new ChromePdfRenderer();
            var content = "<h1>Demo FluentEmail with Mailgun and IronPDF</h1>";
            content += "<h2>Create MailgunSender</h2>";
            content += "<p>1. get API key from app.mailgun.com</p>";
            var domain = "sandboxe26ac376696246a4ad6ceedcfc2b5639.mailgun.org";
            var sender = new MailgunSender(domain, "8b50c68f19de7ddbb129464e129e9d61-6fafb9bf-e36ab713");
            Email.DefaultSender = sender;
            content += "<h2>Prepare Email</h2>";
            content += $"<p>Sender: Santosh@{domain}</p>";
            content += $"<p>Receiver: karanamsantosh99@gmail.com</p>";
            content += $"<p>Subject: Checkout the New Awesome IronPDF Library from IronSoftware</p>";
            content += $"<p>Body: IronPDF is the leading C# PDF library for generating & editing PDFs. It has friendly API and allows developers to rapidly deliver professional, high quality PDFs from HTML in .NET projects.</p>";
            var pdf = renderer.RenderHtmlAsPdf(content);
            // Export to a file or Stream
            pdf.SaveAs("AwesomeFluentEmailAndIron.pdf");
            var email = Email.From("santosh@"+domain)
                .To("karanamsantosh99@gmail.com")
                .Subject("Checkout the New Awesome IronPDF Library from IronSoftware")
                .Body("IronPDF is the leading C# PDF library for generating & editing PDFs. It has friendly API and allows developers to rapidly deliver professional, high quality PDFs from HTML in .NET projects.")
                .Attach(new FluentEmail.Core.Models.Attachment() { Data=File.OpenRead("AwesomeFluentEmailAndIron.pdf"), Filename="AwesomeFluentEmailAndIron.pdf", ContentType="application/pdf" })
                .Send();
            Console.WriteLine($"Is Send Success:{email.Successful}");
        }
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Código Explicación

  1. Integración de FluentEmail y Mailgun:

    • FluentEmail.Core: Proporciona una interfaz fluida para redactar y enviar correos electrónicos.
    • FluentEmail.Mailgun: Permite la integración con Mailgun para la entrega de correo electrónico.
  2. Renderizador de PDF cromado:

    • Se supone que es una instancia de ChromePdfRenderer de la biblioteca IronPDF, utilizada para convertir contenido HTML en un documento PDF.
  3. Preparación de contenidos:

    • Contenido HTML (contenido) con detalles sobre IronPDF. Este contenido se utiliza tanto para generar el PDF (renderer.RenderHtmlAsPdf(contenido)) y para el cuerpo del correo electrónico.
    1. MailgunSender Setup:
    • MailgunSender se inicializa con las credenciales de Mailgun API (dominio y clave API). El Email.DefaultSender se establece a este remitente, asegurando que todos los correos electrónicos posteriores utilizan Mailgun para la entrega.
  4. Generación y anexión de PDF:

    • El contenido HTML (contenido) se convierte en un PDF (pdf) utilizando el método RenderHtmlAsPdf de IronPDF.
    • El PDF generado se guarda como "AwesomeFluentEmailAndIron.pdf".
  5. Composición y envío de correos electrónicos:

    • Un correo electrónico se compone utilizando la API fluida de FluentEmail:

      • La dirección del remitente se establece utilizando el dominio del remitente.

      • La dirección de destino se establece en.

      • Se definen el asunto y el cuerpo del correo electrónico.

      • El archivo PDF "AwesomeFluentEmailAndIron.pdf" se adjunta al correo electrónico.
    • El correo electrónico se envía mediante .Send()y el estado de éxito (email.Exitoso) se imprime en la consola.
  6. Salida de la consola:

    • Después de intentar enviar el correo electrónico, el código muestra si el correo se ha enviado correctamente (Enviar con éxito: true/false).

Mensaje de correo electrónico de salida

FluentEmail C# (Cómo funciona para desarrolladores): Figura 10 - Salida de correo electrónico

PDF adjunto

FluentEmail C# (Cómo funciona para desarrolladores): Figura 11 - Salida PDF

Licencias IronPDF

El paquete IronPDF requiere licencia para ejecutarse y generar el PDF. Añada el siguiente código al inicio de la aplicación antes de acceder al paquete.

IronPdf.License.LicenseKey = "IRONPDF-LICENSE-KEY";
IronPdf.License.LicenseKey = "IRONPDF-LICENSE-KEY";
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

La licencia de prueba está disponible en página de licencia de prueba.

Conclusión

FluentEmail, combinado con las claves API de Mailgun, permite a los desarrolladores .NET agilizar la funcionalidad del correo electrónico en sus aplicaciones. Ya sea para enviar correos electrónicos transaccionales, boletines o notificaciones, esta integración garantiza fiabilidad, escalabilidad y facilidad de uso. Al abstraer las complejidades de la entrega de correo electrónico, FluentEmail permite a los desarrolladores centrarse en la creación de aplicaciones sólidas mientras aprovechan la potente infraestructura de correo electrónico de Mailgun. Aproveche la potencia de FluentEmail y Mailgun para mejorar sus capacidades de comunicación por correo electrónico en aplicaciones .NET hoy mismo.

IronPDF, por su parte, es una robusta biblioteca C# para crear, editar y convertir documentos PDF en aplicaciones .NET. Destaca en la conversión de HTML a PDF, ofrece completas funciones de manipulación de PDF y se integra perfectamente con los marcos .NET, proporcionando soluciones de manipulación de PDF seguras y versátiles.

< ANTERIOR
Entity Framework Core (Cómo funciona para desarrolladores)
SIGUIENTE >
LazyCache C# (Cómo funciona para desarrolladores)

¿Listo para empezar? Versión: 2024.9 acaba de salir

Descarga gratuita de NuGet Descargas totales: 10,516,730 View Licenses >