FluentEmail C# (Cómo Funciona para Desarrolladores)
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 Iron Software.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# 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.RazorPaso 2: Crear una plantilla Razor
Crea una plantilla Razor para el cuerpo de tu correo electrónico. Esto puede ser un archivo .cshtml que contenga HTML y sintaxis de código Razor válida. Por ejemplo, crea 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>@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>Asegúrate de reemplazar YourNamespace.EmailViewModel con el espacio de nombres y el nombre de la clase real de tu modelo de vista o simplemente el modelo de dominio que pasarás 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"));
}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();
}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úrate de que EmailViewModel coincida con el modelo definido en tu plantilla Razor (EmailTemplate.cshtml). Este modelo debe contener las propiedades que referencias en tu 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
Obtenga las claves API de Mailgun:
- Regístrate para una cuenta de Mailgun si aún no lo has hecho.
- Navega al Panel de Control de Mailgun y crea una nueva clave API. Proporciona una descripción.

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# Install the FluentEmail.Mailgun package
Install-Package FluentEmail.Mailguno desde Visual Studio:

- 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;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;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();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();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: adapte 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

IronPDF es una biblioteca de PDF para Node.js que permite generar, gestionar y extraer contenido de documentos PDF en proyectos .NET. Aquí algunas características clave:
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.
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.
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");
}
}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.

Proveer Nombre del Proyecto.

Proporcione la Versión .NET.

Instala el paquete IronPDF.

Instalar 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.

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}");
}
}
}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
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.
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.
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.
- Se prepara contenido HTML (
Configuración de MailgunSender:
MailgunSenderse inicializa con credenciales API de Mailgun (dominio y clave API). ElEmail.DefaultSenderse establece en este remitente, asegurando que todos los correos electrónicos siguientes usen Mailgun para la entrega.
Generación y adjunto de PDF:
- El contenido HTML (
content) se renderiza en un PDF (pdf) usando el métodoRenderHtmlAsPdfde IronPDF. - El PDF generado se guarda como "AwesomeFluentEmailAndIron.pdf".
- El contenido HTML (
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.
- Un correo electrónico se redacta usando la API fluida de FluentEmail:
Salida de consola:
- Después de intentar enviar el correo electrónico, el código muestra si el correo fue enviado exitosamente (
Is Send Success: true/false).
- Después de intentar enviar el correo electrónico, el código muestra si el correo fue enviado exitosamente (
Mensaje de correo electrónico de salida

PDF adjunto

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";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.
Preguntas Frecuentes
¿Cómo puedo enviar correos electrónicos con plantillas Razor en una aplicación .NET?
Puede usar FluentEmail para enviar correos electrónicos con plantillas Razor en una aplicación .NET. Primero, instale FluentEmail y el paquete del renderizador Razor utilizando NuGet o la CLI de .NET. Luego, configure el renderizador Razor y use la interfaz de FluentEmail para redactar y enviar correos electrónicos con soporte para plantillas Razor.
¿Cómo integro Mailgun con una biblioteca de correo electrónico .NET?
Para integrar Mailgun con FluentEmail, obtenga sus claves API desde el panel de Mailgun. Luego, instale el paquete `FluentEmail.Mailgun` y configure Mailgun como el proveedor de servicio de correo electrónico, permitiéndole enviar correos electrónicos de manera eficiente a través de la infraestructura de Mailgun.
¿Cuáles son las ventajas de usar FluentEmail para la funcionalidad de correo electrónico en .NET?
FluentEmail ofrece una interfaz fluida para redactar y enviar correos electrónicos, admite plantillas Razor y Liquid para contenido dinámico, simplifica las configuraciones de SMTP e integra con Mailgun para una entrega de correos electrónicos confiable y escalable.
¿Puedo automatizar las notificaciones por correo electrónico en ASP.NET Core utilizando una biblioteca .NET?
Sí, puede automatizar notificaciones por correo electrónico en ASP.NET Core usando FluentEmail. Al aprovechar las plantillas Razor y la integración con Mailgun, puede automatizar el envío de correos electrónicos transaccionales, boletines y notificaciones con facilidad.
¿Cómo puedo manejar los archivos adjuntos de correo electrónico usando FluentEmail en .NET?
Con FluentEmail, puede gestionar fácilmente los archivos adjuntos de correo electrónico agregándolos al redactar su correo electrónico. La biblioteca ofrece métodos para adjuntar archivos a sus correos electrónicos, asegurando que los archivos adjuntos se envíen junto con el contenido de su correo electrónico.
¿Cómo mejora IronPDF la funcionalidad de PDF para aplicaciones .NET?
IronPDF mejora la funcionalidad de PDF al proporcionar características para la conversión de HTML a PDF, extracción de contenido y edición integral de PDF. Utiliza un motor de renderizado de Chrome, permitiendo a los desarrolladores generar PDFs a partir de HTML, extraer contenido y modificar PDFs de manera eficiente.
¿Qué pasos son necesarios para convertir HTML a PDF en una aplicación .NET?
Para convertir HTML a PDF en una aplicación .NET usando IronPDF, puede usar la clase `ChromePdfRenderer` para renderizar contenido HTML en un documento PDF. Este PDF luego se puede guardar como un archivo o manipularse conforme sea necesario.
¿Cómo se pueden adjuntar PDFs a correos electrónicos en una aplicación .NET?
Para adjuntar PDFs a correos electrónicos en una aplicación .NET, primero genere el PDF usando IronPDF. Una vez creado el PDF, use FluentEmail para redactar su correo electrónico y adjunte el archivo PDF utilizando los métodos disponibles para archivos adjuntos antes de enviar el correo.
¿Es posible extraer contenido de un PDF usando una biblioteca .NET?
Sí, usando IronPDF, puede extraer contenido de un PDF. La biblioteca ofrece métodos para leer texto e imágenes de documentos PDF, permitiendo la extracción de contenido para un posterior procesamiento o análisis.








