IRONSOFTWAREHOME
开发者更新

FluentEmail C#(开发者用法)

Jacob Mellor,Team Iron 的首席技术官
Jacob Mellor
Updated: 2026年4月21日

在当今的数字时代,电子邮件仍然是企业和个人通信的基石。 将强大的电子邮件功能集成到 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
SHELL

步骤 2:创建 Razor 模板

为您的电子邮件主体创建一个 Razor 模板。 这可以是一个.cshtml文件,其中包含HTML和有效的Razor代码语法。 例如,创建一个名为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

请务必将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"));
}

步骤 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();
}

确保EmailTemplate.cshtml)匹配。 此模型应包含您在Razor模板中引用的属性(例如@Model.Name)。

集成 Mailgun API 密钥

Mailgun 是一个因其可靠性、可交付性和丰富功能而知名的电子邮件服务提供商。 通过将 Mailgun API 密钥与 FluentEmail 集成,开发人员可以利用 Mailgun 的基础设施高效且安全地发送电子邮件。

与 FluentEmail 集成 Mailgun API 密钥步骤

1.获取 Mailgun API 密钥:

  • 如果您尚未注册,则注册一个 Mailgun 帐户。
  • 导航到 Mailgun Dashboard 并创建一个新的 API 密钥。 提供描述。

FluentEmail C#(开发者工作原理):图1 - Mailgun

2.安装 FluentEmail 软件包:

使用 Visual Studio 中的 NuGet 包管理器或包管理器控制台安装 FluentMail:

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

或通过 Visual Studio:

FluentEmail C#(开发者工作原理):图2 - FluentEmail.Mailgun

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;

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

5.高级配置:

  • 使用 FluentEmail 的流畅 API 自定义邮件设置,例如附件、HTML 格式、CC/BCC 收件人和邮件头。

使用 FluentEmail 和 Mailgun 的好处

*简单易用: FluentEmail 简化了 SMTP 配置的复杂性,只需极少的设置即可轻松发送电子邮件。 ***可靠性:**利用 Mailgun 的基础设施可确保高送达率和强大的电子邮件处理能力。 *可扩展性: Mailgun 的可扩展基础架构可轻松扩展您的电子邮件发送需求,适用于小型应用程序和企业级解决方案。 ***丰富的功能:**利用 Mailgun 的跟踪、分析和高级电子邮件验证等功能来优化您的电子邮件营销活动。

IronPDF简介

FluentEmail C#(开发者工作原理):图3 - IronPDF

IronPDF 是一个 Node.js PDF 库,可以在 .NET 项目中生成、管理和提取 PDF 文档内容。 以下是一些关键功能:

  1. 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");
    }
}

使用 IronPDF 和 FluentEmail .NET 生成 PDF 文档及 Mailgun 发送者

首先,使用 Visual Studio 创建一个控制台应用程序,如下所示。

FluentEmail C#(开发者工作原理):图4 - Console App

提供项目名称。

FluentEmail C#(开发者工作原理):图5 - Project Configuration

提供 .NET 版本。

FluentEmail C#(开发者工作原理):图6 - Target Framework

安装IronPDF包。

FluentEmail C#(开发者工作原理):图7 - IronPDF

安装 FluentEmail Mailgun。

FluentEmail C#(开发者工作原理):图8 - FluentEmail.Mailgun

要在免费试用中接收电子邮件消息,收件人电子邮件应在 Mailgun 注册仪表板 上注册,如下所示。

FluentEmail C#(开发者工作原理):图9 - Mailgun Dashboard

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}");
        }
    }
}

代码解释

  1. FluentEmail 和 Mailgun 集成:

    • **FluentEmail.Core:**提供流畅的界面,用于编写和发送电子邮件。
    • **FluentEmail.Mailgun:**启用与 Mailgun 的集成,用于电子邮件发送。
  2. ChromePdfRenderer:

    • 这是假定 IronPDF 库中的 ChromePdfRenderer 实例,用于将 HTML 内容渲染为 PDF 文档。

3.内容准备:

  • 准备HTML内容(content),包括IronPDF的详细信息。 此内容用于生成PDF(renderer.RenderHtmlAsPdf(content))和电子邮件正文。
  1. MailgunSender 设置:

    • MailgunSender使用Mailgun API凭证(域名和API密钥)初始化。 Email.DefaultSender设置为此发送者,确保所有后续电子邮件使用Mailgun进行发送。
  2. PDF 生成和附件:

    • 使用IronPDF的pdf)。
    • 将生成的 PDF 保存为"AwesomeFluentEmailAndIron.pdf"。

6.电子邮件撰写和发送:

  • 使用 FluentEmail 的流畅 API 撰写一封电子邮件:
    • 发件地址使用发送者的域进行设置。
    • 收件地址设置为收件人的电子邮件。
    • 定义电子邮件的主题和正文。
    • 将 PDF 文件"AwesomeFluentEmailAndIron.pdf"附加到电子邮件中。
  • 使用email.Successful)打印到控制台。

7.控制台输出:

  • 在尝试发送电子邮件之后,代码输出电子邮件是否发送成功(Is Send Success: true/false)。

输出电子邮件消息

FluentEmail C#(开发者工作原理):图10 - Email Output

附加的 PDF

FluentEmail C#(开发者工作原理):图11 - PDF Output

IronPDF 许可

IronPDF包需要许可证才能运行和生成PDF。 在应用程序启动前,在访问包之前添加以下代码。

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处理解决方案。

Jacob Mellor,Team Iron 的首席技术官
首席技术官

Jacob Mellor 是 Iron Software 的首席技术官,也是一位开创 C# PDF 技术的有远见的工程师。作为 Iron Software 核心代码库的原始开发者,他从公司成立之初就开始塑造公司的产品架构,与首席执行官 Cameron Rimington 一起将公司转变为一家拥有 50 多名员工的公司,为 NASA、特斯拉和全球政府机构提供服务。

相关文章

Key in blue circle

立即获取免费的 30 天试用版密钥。

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

OR
bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥。
无需信用卡或创建账户
C# 用于 PDF 的 NuGet 库
通过 NuGet 安装

版本: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 在解决方案资源管理器中,右键点击引用,管理 NuGet 包
  2. 选择浏览并搜索 “IronPDF”
  3. 选择包并安装
C# PDF DLL
下载 DLL

版本: 2026.9

或在此处下载 Windows 安装程序。

  1. 下载并解压 IronPDF 到您的解决方案目录中的 ~/Libs 之类的位置
  2. 在 Visual Studio 解决方案资源管理器中,右键点击引用。选择浏览,“IronPDF.dll”

$999 起