FluentEmail C#(開發者使用指南)
在當今的數位時代,電子郵件仍然是企業和個人溝通的基石。 將強大的電子郵件功能整合到 ASP.NET Core 應用程式中對於自動發送通知、發送新聞簡報和促進客戶互動至關重要。 FluentEmail是一個功能強大的 .NET 程式庫,結合Mailgun 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
首先,您需要安裝 FluentEmail 套件和 Razor 範本渲染器包,可以使用 Install-Package 指令或 .NET add package 指令:
# 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:使用 Razor 渲染器設定 FluentEmail
配置 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 的基礎架構有效且安全地發送電子郵件。
將 Mailgun API 金鑰與 FluentEmail 整合的步驟
1.取得 Mailgun API 金鑰:
如果您還沒有Mailgun帳戶,請註冊一個。
* 進入[Mailgun 控制面板](https://app.mailgun.com)並建立一個新的 API 金鑰。 請提供描述。FluentEmail C#(開發者使用方法):圖 1 - Mailgun
2.安裝 FluentEmail 軟體包:
使用 NuGet 套件管理器或 Visual Studio 中的套件管理器控制台安裝 FluentMail:# Install the FluentEmail.Mailgun package
Install-Package FluentEmail.Mailgun# Install the FluentEmail.Mailgun package
Install-Package FluentEmail.Mailgun或從 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;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 格式、副本/密送收件者和電子郵件標頭。將 FluentEmail 與 Mailgun 結合使用的好處
*簡單易用:* FluentEmail 簡化了 SMTP 配置的複雜性,只需極少的設定即可輕鬆發送電子郵件。 可靠性:利用 Mailgun 的基礎設施可確保高送達率和強大的電子郵件處理能力。 可擴充性: Mailgun 的可擴充基礎架構可輕鬆擴展您的電子郵件傳送需求,適用於小型應用程式和企業級解決方案。 豐富的功能:**利用 Mailgun 的追蹤、分析和進階電子郵件驗證等功能來優化您的電子郵件行銷活動。
IronPDF簡介
FluentEmail C#(開發者使用方法):圖 3 - IronPDF
IronPDF 是一個 Node.js PDF 庫,允許在 .NET 專案中產生、管理和提取 PDF 文件中的內容。 以下是一些主要特點:
HTML 轉 PDF:
將 HTML、CSS 和 JavaScript 內容轉換為 PDF 文件。
- 用於產生像素級完美 PDF 的 Chrome 渲染引擎。
- 以 URL、HTML 檔案或 HTML 字串為輸入產生 PDF 檔案。
2.圖片和內容轉換:
* 將影像轉換為 PDF 格式,反之亦然。
* 從現有PDF文件中提取文字和圖像。
* 支援多種影像格式,如 JPG、PNG 等。3.編輯和篡改:
* 設定 PDF 的屬性、安全性和權限。
* 新增數位簽章。
* 編輯元資料和修訂歷史。IronPDF 在HTML 轉 PDF 方面表現出色,可確保精確保留原始佈局和樣式。 它非常適合從基於 Web 的內容(例如報告、發票和文件)建立 PDF。 IronPDF 支援 HTML 檔案、URL 和原始 HTML 字串,可以輕鬆產生高品質的 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 以及 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;
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 的 Fluent 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 Licensing and Trial取得。
結論
FluentEmail 與 Mailgun API 金鑰結合使用,使 .NET 開發人員能夠簡化其應用程式中的電子郵件功能。 無論是發送交易電子郵件、新聞簡報或通知,此整合都能確保可靠性、可擴展性和易用性。 FluentEmail 透過抽象化電子郵件傳遞的複雜性,使開發人員能夠專注於建立強大的應用程序,同時利用 Mailgun 強大的電子郵件基礎架構。 立即利用 FluentEmail 和 Mailgun 的強大功能,增強 .NET 應用程式中的電子郵件通訊能力。
另一方面,IronPDF 是一個強大的 C# 程式庫,用於在 .NET 應用程式中建立、編輯和轉換 PDF 文件。 它在 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 的基礎架構有效地傳送電子郵件。
在 .NET 中使用 FluentEmail 實現電子郵件功能有哪些優點?
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 文件中讀取文字和圖像的方法,從而可以提取內容以進行進一步的處理或分析。







