.NET 帮助

FluentEmail C#(开发者如何使用)

发布 2024年八月13日
分享:

在当今的数字时代,电子邮件仍然是企业和个人沟通的基石。 将强大的电子邮件功能集成到 ASP.NET Core 应用程序中对于自动通知、发送时事通讯和促进客户互动至关重要。 流利电子邮件,一个功能强大的 .NET 库,结合邮件枪API 密钥为开发人员提供了一个无缝解决方案,可增强电子邮件功能的可靠性和可扩展性。 本文稍后还将介绍Ironsoftware.com 上的 IronPDF 库生成和管理 PDF 文档。

介绍

FluentEmail 简化了在 .NET 应用程序中以编程方式发送多封邮件的过程。 它为配置电子邮件、管理附件和处理收件人列表提供了直观流畅的界面。 该库抽象化了 SMTP 配置的复杂性,支持多个模板呈现器提供商和测试电子邮件服务提供商,包括 Mailgun。

FluentEmail.NET 是 .NET Core 生态系统中用于发送电子邮件的流行库,它支持 Razor 电子邮件模板以及用于动态创建电子邮件正文的 Liquid 模板。 将 Razor 模板渲染器与 FluentEmail.NET 结合使用,您就可以利用 Razor 语法的强大功能创建格式良好的动态电子邮件内容并解析布局文件。

以下是如何将 FluentEmail.NET 与 ASP.NET Core Razor 模板结合使用的基本指南。

步骤 1:安装 FluentEmail

首先,您需要使用 Install-Package 命令或 .NET add package 命令安装 FluentEmail 软件包和 Razor 模板渲染器软件包:

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#

第 2 步:创建 Razor 模板

为电子邮件正文创建 Razor 模板。 这可以是一个包含 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>
// 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#

请确保将 `YourNamespace.EmailViewModel` 替换为您的视图模型的实际命名空间和类名,或者只是您将传递给此模板的域模型。

第 3 步:使用 Razor 渲染器设置 FluentEmail

配置 FluentEmail 以使用 Razor 渲染器,并提供必要的依赖项:

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#

第 4 步:渲染并发送电子邮件

在您的应用程序代码中,使用所需的模型渲染 Razor 模板并发送电子邮件:

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#

确保 `EmailViewModel` 与您的 Razor 模板中定义的模型匹配(`EmailTemplate.cshtml`). 该模型应包含您在 Razor 模板中引用的属性(`@Model.Name`, 例如).

整合 Mailgun API 密钥

Mailgun 是一家广受欢迎的电子邮件服务提供商,以其可靠性、可送达性和丰富的功能而闻名。 通过将 Mailgun API keys 与 FluentEmail 集成,开发人员可以利用 Mailgun 的基础设施高效、安全地发送电子邮件。

将 Mailgun API 密钥与 FluentEmail 集成的步骤

  1. 获取 Mailgun API 密钥

    • 如果您还没有注册 Mailgun 账户,请注册。

    • 导航至Mailgun 控制面板并创建一个新的 API 密钥。 提供说明。

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

  2. 安装 FluentEmail 软件包

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

Install-Package FluentEmail.Mailgun
Install-Package FluentEmail.Mailgun
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

或来自 Visual Studio

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

  1. 使用 Mailgun API 密钥配置 FluentEmail

    通过配置 API 密钥,将 FluentEmail 设置为使用 Mailgun 作为电子邮件服务提供商或 SMTP 发送方:

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. 编写和发送电子邮件

    使用 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();
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. 高级配置

    • 使用 FluentEmail 的流畅 API 自定义电子邮件设置,如附件、HTML 格式、抄送/密送收件人和电子邮件标题。

将 FluentEmail 与 Mailgun 结合使用的好处

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

IronPDF 简介

FluentEmail C#(开发人员如何使用):图3 - IronPDF

IronPDF for .NET 是一个 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 和 FluentEmail .NET 与 Mailgun 发送器生成 PDF 文档

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

FluentEmail C#(开发人员操作指南):图4 - 控制台应用程序

提供项目名称。

FluentEmail C#(对开发人员的工作原理):图 5 - 项目配置

提供 .NET 版本。

FluentEmail C#(开发者指南):图6 - 目标框架

安装 IronPDF 软件包。

FluentEmail C#(开发者是如何工作的):图 7 - IronPDF

安装 FluentEmail Mailgun。

FluentEmail C#(对开发者如何工作):图8 - FluentEmail.Mailgun

要在免费试用版中接收电子邮件信息,接收者的电子邮件必须注册在 "免费试用版 "的仪表板上。Mailgun 注册控制面板如下所示。

FluentEmail C#(开发者指南):图9 - 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#

代码解释

  1. FluentEmail 和 Mailgun 集成

    • FluentEmail.Core:为撰写和发送电子邮件提供流畅的界面。

    • FluentEmail.Mailgun:实现与 Mailgun 的集成,以发送电子邮件。
  2. ChromePdfRenderer

    • 假设这是 IronPDF 库中 ChromePdfRenderer 的一个实例,用于将 HTML 内容渲染为 PDF 文档。
  3. 内容准备

    • HTML 内容(内容)准备的内容包括 IronPDF 的详细信息。 这些内容将用于生成 PDF(renderer.RenderHtmlAsPdf(内容))以及电子邮件正文。
  4. MailgunSender 设置

    • MailgunSender 使用 Mailgun API 凭据初始化(域名和API密钥). 将 Email.DefaultSender 设置为该发件人,确保所有后续邮件都使用 Mailgun 发送。
  5. PDF 生成和附件

    • HTML 内容(内容)被渲染成PDF(PDF)使用 IronPDF 的 RenderHtmlAsPdf 方法。

    • 生成的 PDF 文件保存为 "AwesomeFluentEmailAndIron.pdf"。
  6. 电子邮件的撰写和发送

    • 使用 FluentEmail 的流畅 API 编写电子邮件:

      • 发件人地址使用发件人的域名设置。

      • 地址设置为.

      • 电子邮件的主题和正文已确定。

      • 邮件附有 PDF 文件 "AwesomeFluentEmailAndIron.pdf"。
    • 电子邮件使用 .Send 发送。()以及成功状态(email.Successful)将打印到控制台。
  7. 控制台输出

    • 尝试发送电子邮件后,代码将输出电子邮件是否发送成功(发送是否成功: true/false).

输出电子邮件信息

FluentEmail C#(对开发人员的工作原理):图10 - 电子邮件输出

所附 PDF

FluentEmail C#(它如何为开发者工作):图11 - PDF输出

IronPDF 许可

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

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

试用许可证可在IronPDF 许可证和试用版.

结论

FluentEmail 与 Mailgun API 密钥相结合,使 .NET 开发人员能够在其应用程序中简化电子邮件功能。 无论是发送交易电子邮件、新闻邮件还是通知,这种集成都能确保可靠性、可扩展性和易用性。 通过抽象电子邮件发送的复杂性,FluentEmail 使开发人员能够专注于构建强大的应用程序,同时利用 Mailgun 强大的电子邮件基础架构。 现在就利用 FluentEmail 和 Mailgun 的强大功能来增强您在 .NET 应用程序中的电子邮件通信能力吧。

另一方面,IronPDF 是一个强大的 C# 库,用于在 .NET 应用程序中创建、编辑和转换 PDF 文档。 它擅长 HTML 到 PDF 的转换,提供全面的 PDF 操作功能,并与 .NET Framework 无缝集成,提供安全和多功能的 PDF 处理解决方案。

< 前一页
实体框架核心(开发者如何使用)
下一步 >
LazyCache C#(开发人员工作原理)

准备开始了吗? 版本: 2024.12 刚刚发布

免费NuGet下载 总下载量: 11,622,374 查看许可证 >