FluentEmail C#(开发者用法)
在当今的数字时代,电子邮件仍然是企业和个人通信的基石。 将强大的电子邮件功能集成到 ASP.NET Core 应用程序中,对于自动化通知、发送新闻通讯和促进客户互动至关重要。 FluentEmail,一个强大的 .NET 库,与 Mailgun API 密钥结合,为开发人员提供了可靠且可扩展的无缝解决方案来增强电子邮件功能。 在本文后面,我们还将查看 IronSoftware.com 上的 IronPDF 库 以生成和管理 PDF 文档。
FluentEmail 简化了在 .NET 应用程序中以编程方式发送多个电子邮件的过程。 它提供了用于配置电子邮件消息、管理附件和处理收件人列表的直观和流畅的界面。 这个库抽象了 SMTP 配置的复杂性,并支持多个模板渲染器提供商和测试电子邮件服务提供商,包括 Mailgun。
FluentEmail.NET 是 .NET Core 生态系统中一个流行的用于发送电子邮件的库,它支持 Razor 邮件模板以及 Liquid 模板来动态创建电子邮件正文。 使用 FluentEmail.NET 的 Razor 模板渲染器允许您利用 Razor 语法的强大功能来创建格式良好的动态电子邮件内容并解析布局文件。
以下是关于如何使用 FluentEmail.NET 与 ASP.NET Core Razor 模板的基本指南。
步骤 1:安装 FluentEmail
首先,您需要通过使用 Install-Package 命令或 .NET 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.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.Razor步骤 2:创建 Razor 模板
为您的电子邮件主体创建一个 Razor 模板。 这可以是一个包含 HTML 和有效 Razor 代码语法的 .cshtml 文件。 例如,创建一个名为 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>确保将 YourNamespace.EmailViewModel 替换为您的视图模型的实际命名空间和类名,或者只是您将传递到此模板的域模型。
步骤 3:设置 FluentEmail 与 Razor 渲染器
配置 FluentEmail 使用 Razor 渲染器并提供必要的依赖项:
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"));
}步骤 4:渲染和发送电子邮件
在您的应用程序代码中,使用所需模型渲染 Razor 模板并发送电子邮件:
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();
}确保 EmailViewModel 匹配您 Razor 模板 (EmailTemplate.cshtml) 中定义的模型。 此模型应包含您在 Razor 模板中引用的属性(例如 @Model.Name)。
集成 Mailgun API 密钥
Mailgun 是一个因其可靠性、可交付性和丰富功能而知名的电子邮件服务提供商。 通过将 Mailgun API 密钥与 FluentEmail 集成,开发人员可以利用 Mailgun 的基础设施高效且安全地发送电子邮件。
与 FluentEmail 集成 Mailgun API 密钥步骤
1.获取 Mailgun API 密钥:
* 如果您尚未注册,则注册一个 Mailgun 帐户。- 导航到 Mailgun Dashboard 并创建一个新的 API 密钥。 提供描述。

2.安装 FluentEmail 软件包:
使用 Visual Studio 中的 NuGet 包管理器或包管理器控制台安装 FluentMail:# Install the FluentEmail.Mailgun package
Install-Package FluentEmail.Mailgun# Install the FluentEmail.Mailgun package
Install-Package FluentEmail.Mailgun或通过 Visual Studio:

3.使用 Mailgun API 密钥配置 FluentEmail:
通过配置 API 密钥,将 FluentEmail 设置为使用 Mailgun 作为电子邮件服务提供商或 SMTP 发送者:
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;4.撰写和发送电子邮件:
使用 FluentEmail 的流利接口撰写和发送邮件: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();5.高级配置:
* 使用 FluentEmail 的流畅 API 自定义邮件设置,例如附件、HTML 格式、CC/BCC 收件人和邮件头。使用 FluentEmail 和 Mailgun 的好处
*简单易用:* FluentEmail 简化了 SMTP 配置的复杂性,只需极少的设置即可轻松发送电子邮件。 可靠性:利用 Mailgun 的基础设施可确保高送达率和强大的电子邮件处理能力。 可扩展性: Mailgun 的可扩展基础架构可轻松扩展您的电子邮件发送需求,适用于小型应用程序和企业级解决方案。 丰富的功能:**利用 Mailgun 的跟踪、分析和高级电子邮件验证等功能来优化您的电子邮件营销活动。
IronPDF简介

IronPDF 是一个 Node.js PDF 库,可以在 .NET 项目中生成、管理和提取 PDF 文档内容。 以下是一些关键功能:
HTML 转 PDF:
- 将 HTML、CSS 和 JavaScript 内容转换为 PDF 文档。
- Chrome 渲染引擎生成像素完美的 PDF。
- 从 URL、HTML 文件或 HTML 字符串生成 PDF。
2.图片和内容转换:
* 将图像转换为 PDF,或从 PDF 中转换出来。
* 从现有 PDF 文档中提取文本和图像。
* 支持各种图像格式,如 JPG、PNG 等。3.编辑和篡改:
* 设置 PDF 的属性、安全性和权限。
* 添加数字签名。
* 编辑元数据和修订历史。IronPDF在HTML到PDF转换方面表现出色,确保精确保留原始布局和样式。 它非常适合从基于Web的内容中创建PDF,如报告、发票和文档。 利用对HTML文件、URL和原始HTML字符串的支持,IronPDF轻松生成高质量的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");
}
}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");
}
}使用 IronPDF 和 FluentEmail .NET 生成 PDF 文档及 Mailgun 发送者
首先,使用 Visual Studio 创建一个控制台应用程序,如下所示。

提供项目名称。

提供 .NET 版本。

安装IronPDF包。

安装 FluentEmail Mailgun。

要在免费试用中接收电子邮件消息,收件人电子邮件应在 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}");
}
}
}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}");
}
}
}代码解释
FluentEmail 和 Mailgun 集成:
- FluentEmail.Core:提供流畅的界面,用于编写和发送电子邮件。
- FluentEmail.Mailgun:启用与 Mailgun 的集成,用于电子邮件发送。
ChromePdfRenderer:
- 这是假定 IronPDF 库中的 ChromePdfRenderer 实例,用于将 HTML 内容渲染为 PDF 文档。
3.内容准备:
* 准备 HTML 内容(`content`),包括有关 IronPDF 的详细信息。 这些内容既用于生成 PDF(`renderer.RenderHtmlAsPdf(content)`),也用于邮件正文。MailgunSender 设置:
MailgunSender使用 Mailgun API 凭据(域和 API 密钥)初始化。Email.DefaultSender设置为此发送者,以确保所有后续电子邮件使用 Mailgun 进行发送。
PDF 生成和附件:
- 使用 IronPDF 的
RenderHtmlAsPdf方法将 HTML 内容(content)渲染为 PDF(pdf)。 - 将生成的 PDF 保存为"AwesomeFluentEmailAndIron.pdf"。
- 使用 IronPDF 的
6.电子邮件撰写和发送:
* 使用 FluentEmail 的流畅 API 撰写一封电子邮件:
* 发件地址使用发送者的域进行设置。
* 收件地址设置为收件人的电子邮件。
* 定义电子邮件的主题和正文。
* 将 PDF 文件"AwesomeFluentEmailAndIron.pdf"附加到电子邮件中。
* 使用 `.Send()` 发送邮件,并将成功状态(`email.Successful`)打印到控制台。7.控制台输出:
* 尝试发送电子邮件后,代码输出电子邮件是否成功发送(`Is Send Success: true/false`)。输出电子邮件消息

附加的 PDF

IronPDF 许可
IronPDF包需要许可证才能运行和生成PDF。 在应用程序启动前,在访问包之前添加以下代码。
IronPdf.License.LicenseKey = "IRONPDF-LICENSE-KEY";IronPdf.License.LicenseKey = "IRONPDF-LICENSE-KEY";试用许可证可在 IronPDF 许可和试用 中获得。
结论
结合 Mailgun API 密钥的 FluentEmail,使 .NET 开发人员能够简化其应用程序内的电子邮件功能。 无论是发送事务性电子邮件、新闻通讯还是通知,此集成都确保了可靠性、可扩展性和易用性。 通过抽象电子邮件传递的复杂性,FluentEmail 允许开发人员专注于构建强大的应用程序,同时利用 Mailgun 强大的电子邮件基础设施。 利用 FluentEmail 和 Mailgun 的强大功能来增强您在 .NET 应用程序中的电子邮件通信能力。
另一方面,IronPDF 是一个用于在 .NET 应用程序中创建、编辑和转换 PDF 文档的强大 C# 库。 它在HTML到PDF转换方面表现出色,提供全面的PDF操作能力,并能与.NET框架无缝集成,提供安全和多功能的PDF处理解决方案。
常见问题解答
如何在.NET应用中使用Razor模板发送邮件?
您可以使用FluentEmail在.NET应用中通过Razor模板发送邮件。首先,通过NuGet或.NET CLI安装FluentEmail和Razor渲染器包。然后,配置Razor渲染器,并使用FluentEmail界面撰写和发送支持Razor模板的邮件。
如何将Mailgun与.NET邮件库集成?
要将Mailgun与FluentEmail集成,请从Mailgun仪表板获取您的API密钥。然后,安装`FluentEmail.Mailgun`包,并将Mailgun配置为电子邮件服务提供商,使您可以通过Mailgun的基础设施高效发送邮件。
使用FluentEmail实现.NET中的邮件功能有哪些优势?
FluentEmail为撰写和发送邮件提供了流畅的界面,支持Razor和Liquid模板用于动态内容,简化了SMTP配置,并与Mailgun集成以实现可靠且可扩展的邮件传递。
我可以使用.NET库在ASP.NET Core中自动化邮件通知吗?
是的,您可以使用FluentEmail在ASP.NET Core中自动化邮件通知。通过利用Razor模板和Mailgun集成,您可以轻松地自动发送交易邮件、新闻通讯和通知。
如何在.NET中使用FluentEmail处理电子邮件附件?
使用FluentEmail,您可以在撰写邮件时轻松管理电子邮件附件。该库提供附加文件到邮件的方法,确保附件随邮件内容一起发送。
IronPDF如何增强.NET应用的PDF功能?
IronPDF通过提供HTML到PDF转换、内容提取和全面的PDF编辑等功能来增强PDF功能。它使用Chrome渲染引擎,使开发人员能够从HTML生成PDF、提取内容和高效修改PDF。
在.NET应用中将HTML转换为PDF需要哪些步骤?
要在.NET应用中使用IronPDF将HTML转换为PDF,您可以使用`ChromePdfRenderer`类将HTML内容渲染为PDF文档。此PDF可以保存为文件或根据需要进一步处理。
如何在.NET应用中将PDF附加到电子邮件?
要在.NET应用中将PDF附加到电子邮件,首先使用IronPDF生成PDF。一旦PDF创建完成,使用FluentEmail撰写您的邮件,并在发送邮件之前使用可用的文件附件方法附加PDF文件。
是否可以使用.NET库从PDF中提取内容?
是的,使用IronPDF,您可以从PDF中提取内容。该库提供从PDF文档中读取文本和图像的方法,支持内容提取用于进一步处理或分析。








