IRONSOFTWAREHOME
ACTUALIZACIONES PARA DESARROLLADORES

FluentEmail en C# | Enviar correos electrónicos en .NET

Jacob Mellor, Director de Tecnología @ Team Iron
Jacob Mellor
Updated: 21 de abril de 2026

En la era digital actual, el correo electrónico sigue siendo un pilar de la comunicación para empresas e individuos. Integrar una robusta funcionalidad de correo electrónico en aplicaciones ASP.NET Core es esencial para automatizar notificaciones, enviar boletines y facilitar interacciones con clientes. FluentEmail, una potente biblioteca para .NET, combinada con las claves API de Mailgun, ofrece a los desarrolladores una solución perfecta para mejorar las capacidades de correo electrónico con fiabilidad y escalabilidad. Más adelante en este artículo, también veremos la Biblioteca IronPDF en ironsoftware.com para generar y manejar documentos PDF.

FluentEmail simplifica el proceso de enviar múltiples correos electrónicos programáticamente dentro de aplicaciones .NET. Proporciona una interfaz intuitiva y fluida para configurar mensajes de correo electrónico, gestionar archivos adjuntos y manejar listas de destinatarios. Esta biblioteca abstrae las complejidades de la configuración SMTP y admite múltiples proveedores de renderizadores de plantillas y proveedores de servicios de correo de prueba, incluyendo Mailgun.

FluentEmail.NET es una biblioteca popular en el ecosistema .NET Core para enviar correos electrónicos, y admite plantillas de correo electrónico Razor, así como plantillas Liquid para crear cuerpos de correo electrónico dinámicamente. Usar un renderizador de plantillas Razor con FluentEmail.NET permite aprovechar la potencia de la sintaxis Razor para crear contenido de correo electrónico bien formateado y dinámico y resolver archivos de diseño.

Aquí tienes una guía básica sobre cómo usar FluentEmail.NET con plantillas Razor ASP.NET Core.

Paso 1: Instalar FluentEmail

Primero, necesitas instalar el paquete FluentEmail y el paquete del renderizador de plantillas Razor usando el comando Install-Package o el comando .NET add package:

# Install packages using the Package Manager Console
Install-Package FluentEmail.Core
Install-Package FluentEmail.Razor

# Or install packages using the .NET CLI
dotnet add package FluentEmail.Core
dotnet add package FluentEmail.Razor
SHELL

Paso 2: Crear una plantilla Razor

Crea una plantilla Razor para el cuerpo de tu correo electrónico. Esto puede ser un archivo .cshtml que contiene sintaxis válida de HTML y Razor. 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>
HTML

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

Paso 3: Configurar FluentEmail con Razor Renderer

Configura FluentEmail para usar el renderizador Razor y proporciona las dependencias necesarias:

using FluentEmail.Core;
using FluentEmail.Razor;

public void ConfigureFluentEmail()
{
    // Set up the Razor renderer
    Email.DefaultRenderer = new RazorRenderer();

    // Set up SMTP sender address
    Email.DefaultSender = new SmtpSender(new SmtpClient("smtp.yourserver.com"));
}

Paso 4: Renderizar y enviar correo electrónico

En el código de tu aplicación, renderiza la plantilla Razor con el modelo deseado y envía el correo electrónico:

using FluentEmail.Core;
using FluentEmail.Razor;

public void SendEmail()
{
    // Specify the template file
    var template = "EmailTemplate.cshtml";

    // Create the email
    var email = Email
        .From("sender@example.com") // Set the sender's email address
        .To("recipient@example.com") // Set the recipient's email address
        .Subject("Sample Email"); // Set the email subject

    // Define the model to pass to the template
    var model = new EmailViewModel { Name = "John Doe" };

    // Render the template with the model
    email.UsingTemplateFromFile(template, model);

    // Send the email
    email.Send();
}

Asegúrese de que EmailViewModel coincida con el modelo definido en su plantilla Razor (EmailTemplate.cshtml). Este modelo debe contener propiedades a las que usted hace referencia en su plantilla Razor (@Model.Name, por ejemplo).

Integración de las claves API de Mailgun

Mailgun es un proveedor de servicios de correo electrónico popular conocido por su fiabilidad, capacidad de entrega y sus características enriquecidas. Al integrar las claves API de Mailgun con FluentEmail, los desarrolladores pueden aprovechar la infraestructura de Mailgun para enviar correos electrónicos de manera eficiente y segura.

Pasos para integrar las claves API de Mailgun con FluentEmail

  1. Obtenga las claves API de Mailgun:

    • Regístrate para una cuenta de Mailgun si aún no lo has hecho.

FluentEmail C# (Cómo Funciona para Desarrolladores): Figura 1 - Mailgun

  1. Instalar el paquete FluentEmail:

    Usa NuGet Package Manager o Package Manager Console en Visual Studio para instalar FluentMail:

# Install the FluentEmail.Mailgun package
Install-Package FluentEmail.Mailgun
SHELL

o desde Visual Studio:

FluentEmail C# (Cómo Funciona para Desarrolladores): Figura 2 - FluentEmail.Mailgun

  1. Configurar FluentEmail con las claves API de Mailgun:

Configura FluentEmail para usar Mailgun como proveedor de servicios de correo electrónico o remitente SMTP configurando tus claves API:

using FluentEmail.Core;
using FluentEmail.Mailgun;

// Create an instance of MailgunSender
var sender = new MailgunSender("your-domain.com", "your-mailgun-api-key");

// Set the default sender for all emails
Email.DefaultSender = sender;
  1. Redactar y enviar correos electrónicos:

    Usa la interfaz fluida de FluentEmail para redactar y enviar correos electrónicos:

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();
  1. Configuración avanzada:

    • Personaliza configuraciones de correo electrónico como archivos adjuntos, formato HTML, destinatarios CC/BCC y encabezados de correo electrónico usando la API fluida de FluentEmail.

Beneficios del uso de FluentEmail con Mailgun

  • Simplicidad: FluentEmail elimina las complejidades de la configuración de SMTP, lo que facilita el envío de correos electrónicos con una configuración mínima.
  • Confiabilidad: el aprovechamiento de la infraestructura de Mailgun garantiza altas tasas de entregabilidad y sólidas capacidades de manejo de correo electrónico.
  • Escalabilidad: aumente sus necesidades de envío de correo electrónico sin esfuerzo con la infraestructura escalable de Mailgun, adecuada tanto para aplicaciones de pequeña escala como para soluciones de nivel empresarial.
  • Funciones avanzadas: aproveche las funciones de Mailgun, como 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 de PDF for Node.js que permite generar, gestionar y extraer contenido de documentos PDF en proyectos .NET. Aquí algunas características clave:

  1. Conversión de HTML a PDF:

    • Convierte contenido HTML, CSS y JavaScript en Documentos PDF.
    • Motor de Renderizado Chrome para PDFs de perfecta fidelidad.
    • Genera PDFs desde URLs, archivos HTML o cadenas HTML como entrada.
  2. Conversión de imágenes y contenidos:

    • Convierte imágenes hacia y desde PDFs.
    • Extrae texto e imágenes de documentos PDF existentes.
    • Soporte para varios formatos de imagen como JPG, PNG, etc.
  3. Edición y manipulación:

    • Establece propiedades, seguridad y permisos para PDFs.
    • Añade firmas digitales.
    • Edita metadatos e historial de revisiones.

IronPDF se destaca en la conversión de HTML a PDF, asegurando la preservación precisa de los diseños y estilos originales. Es perfecto para crear PDFs a partir de contenido basado en la web como informes, facturas y documentación. Con soporte para archivos HTML, URLs y cadenas HTML en bruto, IronPDF produce fácilmente documentos PDF de alta calidad.

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        // Create a ChromePdfRenderer instance
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}

Generar documento PDF usando IronPDF y FluentEmail .NET con Mailgun sender

Para comenzar, crea una aplicación de consola usando Visual Studio como se muestra a continuación.

FluentEmail C# (Cómo Funciona para Desarrolladores): Figura 4 - Aplicación de Consola

Proveer 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 Desarrolladores): Figura 6 - Framework de Destino

Instala el paquete IronPDF.

FluentEmail C# (Cómo Funciona para Desarrolladores): Figura 7 - IronPDF

Instalar 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 receptor debe estar registrado en el panel en el Panel de Registro de Mailgun, como se muestra a continuación.

FluentEmail C# (Cómo Funciona para Desarrolladores): Figura 9 - Panel de Control de Mailgun

using FluentEmail.Core;
using FluentEmail.Mailgun;
using IronPdf;
using System;
using System.IO;

namespace CodeSample
{
    public static class FluentMailDemo
    {
        public static void Execute()
        {
            // Instantiate Renderer
            var renderer = new ChromePdfRenderer();

            // HTML Content to be converted into PDF and used in Email
            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 = "your-domain.com"; // Use your Mailgun domain
            var sender = new MailgunSender(domain, "your-mailgun-api-key"); // Use your Mailgun API key
            Email.DefaultSender = sender;

            content += "<h2>Prepare Email</h2>";
            content += $"<p>Sender: example@{domain}</p>";
            content += $"<p>Receiver: recipient@example.com</p>";
            content += $"<p>Subject: Checkout the New Awesome IronPDF Library from Iron Software</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 high quality PDFs from HTML in .NET projects.</p>";

            // Render HTML content to PDF
            var pdf = renderer.RenderHtmlAsPdf(content);

            // Export the PDF to a file
            pdf.SaveAs("AwesomeFluentEmailAndIron.pdf");

            // Compose and send the email
            var email = Email
                .From($"example@{domain}")
                .To("recipient@example.com")
                .Subject("Checkout the New Awesome IronPDF Library from Iron Software")
                .Body("IronPDF is the leading C# PDF library for generating & editing PDFs. It has a friendly API and allows developers to rapidly deliver 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}");
        }
    }
}

Explicación del código

  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 de Chrome:

    • Se asume que es una instancia de ChromePdfRenderer de la biblioteca IronPDF, usada para renderizar contenido HTML en un documento PDF.
  3. Preparación del contenido:

    • Se prepara contenido HTML (content), incluyendo detalles sobre IronPDF. Este contenido se usa tanto para generar el PDF (renderer.RenderHtmlAsPdf(content)) como para el cuerpo del correo electrónico.
  4. Configuración de MailgunSender:

    • MailgunSender se inicializa con las credenciales de API de Mailgun (dominio y clave API). El Email.DefaultSender se establece en este remitente, asegurando que todos los correos electrónicos posteriores utilicen Mailgun para la entrega.
  5. Generación y adjunto de PDF:

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

    • Un correo electrónico se redacta usando la API fluida de FluentEmail:
      • La dirección 'De' se establece usando el dominio del remitente.
      • La dirección 'Para' se establece en el correo electrónico del destinatario.
      • 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 usando .Send(), y el estado de éxito (email.Successful) se imprime en la consola.
  1. Salida de consola:

    • Después de intentar enviar el correo electrónico, el código muestra si el correo se envió exitosamente (Is Send Success: true/false).

Mensaje de correo electrónico de salida

FluentEmail C# (Cómo Funciona para Desarrolladores): Figura 10 - Salida del Correo Electrónico

PDF adjunto

FluentEmail C# (Cómo Funciona para Desarrolladores): Figura 11 - Salida del PDF

Licencias de IronPDF

El paquete IronPDF requiere una licencia para ejecutar y generar el PDF. Agrega el código a continuación al inicio de la aplicación antes de que se acceda al paquete.

IronPdf.License.LicenseKey = "IRONPDF-LICENSE-KEY";

La Licencia de Prueba está disponible en IronPDF Licensing and Trial.

Conclusión

FluentEmail, combinado con las claves API de Mailgun, capacita a los desarrolladores .NET para optimizar la funcionalidad de correo electrónico dentro de sus aplicaciones. Ya sea enviando correos electrónicos transaccionales, boletines o notificaciones, esta integración asegura fiabilidad, escalabilidad y facilidad de uso. Al abstraer las complejidades de la entrega de correos electrónicos, FluentEmail permite a los desarrolladores centrarse en construir aplicaciones solidas mientras aprovechan la poderosa infraestructura de correo electrónico de Mailgun. Abreza el poder de FluentEmail y Mailgun para mejorar tus capacidades de comunicación por correo electrónico en aplicaciones .NET hoy en día.
IronPDF, por otro lado, es una robusta biblioteca C# para crear, editar y convertir documentos PDF dentro de aplicaciones .NET. Destaca en la conversión de HTML a PDF, ofrece capacidades de manipulación PDF completas e integra de manera perfecta con los marcos de trabajo .NET, proporcionando soluciones de manejo de PDF seguras y versátiles.

Jacob Mellor, Director de Tecnología @ Team Iron
Director de Tecnología

Jacob Mellor es Director de Tecnología de Iron Software y un ingeniero visionario pionero en la tecnología C# PDF. Como desarrollador original de la base de código principal de Iron Software, ha dado forma a la arquitectura de productos de la empresa desde su creación, transformándola, junto con el director ejecutivo Cameron Rimington, en una empresa de más de 50 personas que presta servicios a la NASA, Tesla y organismos gubernamentales de todo el mundo.

...
Leer más

Artículos Relacionados

Key in blue circle

Obtenga su clave de prueba gratuita de 30 días al instante.

Your trial license will be sent to your email address

Sin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.

OR
bullet_checkedNo se requiere tarjeta de crédito ni creación de cuentaSin limitaciones. 100 % desbloqueado. Sin tarjeta de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Reserve su Demostración en Vivo gratuita
Booking Badge

Confiado por millones de ingenieros en todo el mundo

Logos de clientes de Iron Software
Obtén tu Consulta Sin Compromiso
Completa el formulario a continuación o envía un correo a sales@ironsoftware.com
Tus detalles siempre serán mantenidos confidenciales.
Confiado por millones de ingenieros en todo el mundo
Logos de clientes de Iron Software
Obtenga su Clave de Prueba de 30 días gratis al instante.
No se requiere tarjeta de crédito ni creación de cuenta
Biblioteca C# NuGet para PDF
Instalar con NuGet

Versión: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. En el Explorador de Soluciones, haga clic derecho en Referencias, Administrar Paquetes NuGet
  2. Seleccione Examinar y busque "IronPDF"
  3. Seleccione el paquete e instale
C# PDF DLL
Descargar DLL

Versión: 2026.9

o descargue el Instalador de Windows aquí.

  1. Descargue y descomprima IronPDF en una ubicación como ~/Libs dentro del directorio de su solución
  2. En el Explorador de Soluciones de Visual Studio, haga clic derecho en Referencias. Seleccione Examinar, "IronPDF.dll"

Licencias desde $999