.NET 幫助

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

發佈 2024年8月13日
分享:

在當今數位時代,電子郵件依然是企業和個人溝通的基石。 將強大的電子郵件功能整合到 ASP.NET Core 應用程式中,對於自動化通知、發送電子報和促進客戶互動至關重要。 FluentEmail,一個功能強大的 .NET 函式庫,結合MailgunAPI 金鑰為開發者提供一個無縫的解決方案,以可靠性和可擴展性增強電子郵件功能。 稍後在本文中,我們也將看看IronPDF 庫在 ironsoftware.com生成和管理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 模板。 這可以是一個 `.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>
// 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:設定 FluentEmail 與 Razor Renderer

配置 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

  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

    將 FluentEmail 設定為使用 Mailgun 作為電子郵件服務提供者或 SMTP 發件人,配置您的 API 金鑰:

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格式、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 和 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 的 Fluent API 組成電子郵件:

      • 寄件地址使用發件者的網域設定。

      • 地址設為.

      • 電子郵件的主旨和內容已被定義。

      • 電子郵件附加了 PDF 檔案 "AwesomeFluentEmailAndIron.pdf"。
    • 電子郵件使用 .Send 發送(),以及成功狀態(email.Successful)是打印到控制台。
  7. 控制台輸出

    • 嘗試發送電子郵件後,程式碼輸出電子郵件是否成功發送。(發送成功:是/否).

輸出電子郵件消息

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框架無縫整合,提供安全且多功能的PDF處理解決方案。

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

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

免費 NuGet 下載 總下載次數: 11,622,374 查看許可證 >