.NET 幫助

FluentEmail C#(開發人員如何使用)

發佈 2024年8月13日
分享:

在當今的數位時代,電子郵件仍然是企業和個人通信的基石。將強大的電子郵件功能整合到 ASP.NET Core 應用程式中,對於自動化通知、發送電子報和促進客戶互動都是必不可少的。 FluentEmail,一個功能強大的 .NET 函式庫,結合 Mailgun API 金鑰,為開發人員提供了可靠且可擴展的無縫電子郵件增強解決方案。本文稍後我們還將探討 IronPDF 圖書館由 IronSoftware 生成和管理PDF文件。

介紹

FluentEmail 簡化了在 .NET 應用中以程式方式發送多封電子郵件的過程。它提供了一個直觀且流暢的界面,用於配置電子郵件訊息、管理附件以及處理收件人列表。該庫抽象了 SMTP 配置的複雜性,並支持多個模板渲染器提供商和測試電子郵件服務提供商,包括 Mailgun。

FluentEmail.NET 是 .NET Core 生態系統中用於發送電子郵件的一個流行庫,它支持 Razor 電子郵件模板以及 Liquid 模板,用於動態創建電子郵件正文。使用 Razor 模板渲染器與 FluentEmail.NET 相結合,可以利用 Razor 語法的威力來創建格式良好的動態電子郵件內容並解析佈局文件。

以下是一個關於如何在 ASP.NET Core 中使用 FluentEmail.NET 與 Razor 模板的基本指南。

第一步:安裝 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 代碼語法的 .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>
// 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 替換為您的視圖模型或您將傳遞給此模板的領域模型的實際命名空間和類名。

第三步:設定 FluentEmail 與 Razor 渲染器

配置 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 金鑰與 FluentEmail 整合,開發者可以利用 Mailgun 的基礎設施,高效且安全地發送電子郵件。

如何將 Mailgun API 金鑰整合到 FluentEmail 中

  1. 獲取 Mailgun API 金鑰

    • 如果還沒有 Mailgun 帳戶,請註冊一個。

    • 瀏覽至 Mailgun 儀表板並創建一個新的API金鑰。提供描述。

FluentEmail C#(開發人員的使用方式):圖 1 - Mailgun

  1. 安裝 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. 配置 FluentEmail 與 Mailgun API 金鑰

透過配置您的 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 是一個 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

要在免費試用中接收電子郵件訊息,接收者的電子郵件應該在下方所示的儀表板中註冊。

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 來傳送。

    1. PDF 生成與附件

      • HTML 內容 (內容) 被轉換成PDF (PDF) 使用 IronPDF 的 RenderHtmlAsPdf 方法。

生成的 PDF 被保存為 "AwesomeFluentEmailAndIron.pdf"。

  1. 電子郵件編寫和發送

    • 使用 FluentEmail 的 fluent API 編寫電子郵件:

      • 使用發件人的域設定發件人地址。
    • 收件人地址設為.
    • 電子郵件的主題和內容已定義。
    • PDF 文件 "AwesomeFluentEmailAndIron.pdf" 附加到電子郵件。
    • 電子郵件使用 .Send 發送(),以及成功狀態 (email.成功) 將結果輸出到控制台。
  2. 控制台輸出:

    • 在嘗試發送電子郵件後,代碼將輸出電子郵件是否發送成功 (發送成功:是/否).

輸出電子郵件訊息

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#

試用許可證可在 試用授權頁面.

結論

FluentEmail 結合 Mailgun API 金鑰,讓 .NET 開發者能夠在應用程式中簡化電子郵件功能。無論是發送交易郵件、電子報還是通知,這種整合都能確保可靠性、可擴展性和易用性。通過抽象化電子郵件傳遞的複雜性,FluentEmail 允許開發者專注於構建強大的應用程式,同時利用 Mailgun 的強大電子郵件基礎架構。今天就擁抱 FluentEmail 和 Mailgun 的力量,提升你在 .NET 應用程式中的電子郵件通信能力。

另一方面,IronPDF 是一個強大的 C# 庫,用於在 .NET 應用程式中創建、編輯和轉換 PDF 文件。它在 HTML 到 PDF 轉換方面表現出色,提供全面的 PDF 操作功能,並與 .NET 框架無縫集成,提供安全且多功能的 PDF 處理解決方案。

< 上一頁
Entity Framework Core(它是如何為開發者工作的)
下一個 >
LazyCache C#(它如何為開發者工作)

準備開始了嗎? 版本: 2024.10 剛剛發布

免費 NuGet 下載 總下載次數: 10,993,239 查看許可證 >