.NET 幫助

Sendgrid .NET(開發人員如何運作)

發佈 2024年4月29日
分享:

SendGrid,作為 Twilio SendGrid 的一部分,提供雲端服務,幫助客戶簡化發送電子郵件的過程,促進通信流程。 當您創建 SendGrid 帳戶時,您可以使用 SMTP 中繼和 API 密鑰等功能。 它使發送電子郵件訊息變得高效。 SMTP 中繼是此過程的核心,因為它允許您的電子郵件從您的伺服器通過 SendGrid 的系統發送。 經過驗證的域功能會驗證您的域。 由於 SendGrid 是開源的,您可以訪問其 GitHub 存儲庫並協助修改。

在本指南中,我們旨在揭示 SendGrid .NET 的功能和特性,引導您完成初始設置、基本操作以及更高級的功能。 無論您是希望通過代碼發送第一封電子郵件,還是優化您的電子郵件活動,本文將是您掌握 SendGrid .NET 及其整合的起點。IronPDF 用於 PDF 操作.

入門 SendGrid .NET

首先,您需要在專案中設置 SendGrid .NET。 首先安裝 SendGrid .NET 套件。 使用 NuGet 套件管理器。 打開 Visual Studio,然後打開套件管理器主控台。 輸入以下命令:

Install-Package SendGrid

Sendgrid .NET(它是如何為開發人員運作的):圖1 - 通過Visual Studio中的NuGet套件管理器控制台安裝SendGrid.NET

此命令將 SendGrid 添加到您的專案中。 安裝後,設定您的 SendGrid 帳戶。 您需要一個 API 金鑰。 前往SendGrid網站. 如果您還沒有帳戶,請創建一個。 登入後,導航至設定。 查找API Keys。 按一下 Create API Key。 給它一個名稱並選擇訪問級別。 複製 API 金鑰。 您將在您的應用程序中使用這個。

基本程式範例

現在,讓我們發送一封電子郵件。 創建一個新的 SendGridClient 實例。 將您的 API 金鑰傳遞給建構函式。 然後,建立一個 SendGridMessage。 設置發件人和收件人的電子郵件地址。 添加主題和電子郵件內容。 最後,使用 SendGridClient 發送訊息。 以下是一個基本範例:

var client = new SendGridClient("your_api_key");
var message = new SendGridMessage()
{
    From = new EmailAddress("your_email@example.com", "Your Name"),
    Subject = "Hello World from SendGrid",
    PlainTextContent = "This is a test email.",
    HtmlContent = "<strong>This is a test email.</strong>"
};
message.AddTo(new EmailAddress("recipient_email@example.com", "Recipient Name"));
var response = await client.SendEmailAsync(message);
var client = new SendGridClient("your_api_key");
var message = new SendGridMessage()
{
    From = new EmailAddress("your_email@example.com", "Your Name"),
    Subject = "Hello World from SendGrid",
    PlainTextContent = "This is a test email.",
    HtmlContent = "<strong>This is a test email.</strong>"
};
message.AddTo(new EmailAddress("recipient_email@example.com", "Recipient Name"));
var response = await client.SendEmailAsync(message);
Dim client = New SendGridClient("your_api_key")
Dim message = New SendGridMessage() With {
	.From = New EmailAddress("your_email@example.com", "Your Name"),
	.Subject = "Hello World from SendGrid",
	.PlainTextContent = "This is a test email.",
	.HtmlContent = "<strong>This is a test email.</strong>"
}
message.AddTo(New EmailAddress("recipient_email@example.com", "Recipient Name"))
Dim response = Await client.SendEmailAsync(message)
VB   C#

此代碼發送一封簡單的電子郵件。 它顯示了使用 SendGrid .NET 的基本知識。 您可以從這裡擴展以使用更多功能。

實現 SendGrid .NET 的功能

使用自定義HTML內容發送電子郵件

要發送包含 HTML 內容的電子郵件,您首先需要創建您的 HTML。 然後,使用 SendGridMessage 設定 HtmlContent。 這讓您可以設計豐富的電子郵件。 以下是方法:

var client = new SendGridClient("your_api_key");
var message = new SendGridMessage()
{
    From = new EmailAddress("your_email@example.com", "Your Name"),
    Subject = "Custom HTML Content",
    HtmlContent = "<html><body><h1>This is a Heading</h1><p>This is a paragraph.</p></body></html>"
};
message.AddTo(new EmailAddress("recipient_email@example.com", "Recipient Name"));
var response = await client.SendEmailAsync(message);
var client = new SendGridClient("your_api_key");
var message = new SendGridMessage()
{
    From = new EmailAddress("your_email@example.com", "Your Name"),
    Subject = "Custom HTML Content",
    HtmlContent = "<html><body><h1>This is a Heading</h1><p>This is a paragraph.</p></body></html>"
};
message.AddTo(new EmailAddress("recipient_email@example.com", "Recipient Name"));
var response = await client.SendEmailAsync(message);
Dim client = New SendGridClient("your_api_key")
Dim message = New SendGridMessage() With {
	.From = New EmailAddress("your_email@example.com", "Your Name"),
	.Subject = "Custom HTML Content",
	.HtmlContent = "<html><body><h1>This is a Heading</h1><p>This is a paragraph.</p></body></html>"
}
message.AddTo(New EmailAddress("recipient_email@example.com", "Recipient Name"))
Dim response = Await client.SendEmailAsync(message)
VB   C#

使用 SendGrid SMTP 服務

有時候,你可能更喜歡使用SMTP來發送電子郵件。 SendGrid 也支持這個。 在 SendGrid 中配置您的 SMTP 設定。 然後,在您的應用程式中使用這些設定。 此方法需要使用 SendGrid 的伺服器詳細資訊設置 SMTP 客戶端。 以下是一個基本設置:

var client = new SmtpClient("smtp.sendgrid.net")
{
    Port = 587,
    Credentials = new NetworkCredential("apikey", "your_sendgrid_apikey"),
    EnableSsl = true,
};
var mailMessage = new MailMessage
{
    From = new MailAddress("your_email@example.com"),
    Subject = "Test SMTP Email",
    Body = "This is a test email sent via SMTP.",
    IsBodyHtml = true,
};
mailMessage.To.Add("recipient_email@example.com");
client.Send(mailMessage);
var client = new SmtpClient("smtp.sendgrid.net")
{
    Port = 587,
    Credentials = new NetworkCredential("apikey", "your_sendgrid_apikey"),
    EnableSsl = true,
};
var mailMessage = new MailMessage
{
    From = new MailAddress("your_email@example.com"),
    Subject = "Test SMTP Email",
    Body = "This is a test email sent via SMTP.",
    IsBodyHtml = true,
};
mailMessage.To.Add("recipient_email@example.com");
client.Send(mailMessage);
Dim client = New SmtpClient("smtp.sendgrid.net") With {
	.Port = 587,
	.Credentials = New NetworkCredential("apikey", "your_sendgrid_apikey"),
	.EnableSsl = True
}
Dim mailMessage As New MailMessage With {
	.From = New MailAddress("your_email@example.com"),
	.Subject = "Test SMTP Email",
	.Body = "This is a test email sent via SMTP.",
	.IsBodyHtml = True
}
mailMessage.To.Add("recipient_email@example.com")
client.Send(mailMessage)
VB   C#

管理電子郵件行銷活動

SendGrid .NET 允許管理電子郵件活動。 通過 API 創建、發送和追蹤活動。 如需詳細的活動管理,請參閱SendGrid的API文件。 此功能超出基本的電子郵件發送範圍,但對於行銷活動來說非常有價值。

處理退回的電子郵件和垃圾郵件報告

處理退信和垃圾郵件報告是至關重要的。 SendGrid .NET 為這些事件提供 webhook。 在您的 SendGrid 儀表板中設置 webhook。 然後,在您的應用程式中處理這些事件。 這能保持您的電子郵件列表整潔並改善可達性。

驗證網域

網域驗證對電子郵件的送達率非常重要。 它會驗證您網域的所有權。在SendGrid中,通過儀錶板設置網域驗證。 這涉及新增 DNS 記錄。 一旦驗證完成,電子郵件對收件人和電子郵件提供商看起來更加可信。

將 IronPDF 與 SendGrid 整合

IronPDF 介紹

Sendgrid .NET(它如何為開發人員工作):圖 2 - IronPDF 主頁

探索 IronPDF 的功能是一個庫,允許開發者在 .NET 應用程式中創建、編輯和提取 PDF 內容。 它提供了一種以程式方式處理 PDF 檔案的簡單方法。 這使得處理 PDF 檔案更加容易,無需深入了解 PDF 規範。 使用IronPDF,開發人員可以使用 IronPDF 選擇將 HTML 轉換為 PDF編輯現有的PDF,以及提取內容。

將IronPDF與SendGrid C#合併的用例

在業務應用中,財務報告、發票或個性化文件需要動態生成並通過電子郵件發送給客戶或利益相關者。 IronPDF 可用來從範本或資料來源建立這些文件,將它們轉換為 PDF 格式。 隨後,使用SendGrid的C#客戶端,可以將這些PDF文件附加到電子郵件上,並自動發送給預定的接收者。

安裝 IronPDF 庫

要使用 IronPDF,您首先需要安裝 NuGet 套件。 首先,打開 NuGet 套件管理員控制台,然後執行此命令:

Install-Package IronPdf

使用範例代碼與詳細步驟

步驟 1:使用 IronPDF 生成 PDF

首先,我們生成一個 PDF 文件。 我們將以一個 HTML 字串為例來創建一個簡單的 PDF。

using IronPdf;
var Renderer = new HtmlToPdf();
var PDF = Renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
var outputPath = "example.pdf";
PDF.SaveAs(outputPath);
using IronPdf;
var Renderer = new HtmlToPdf();
var PDF = Renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");
var outputPath = "example.pdf";
PDF.SaveAs(outputPath);
Imports IronPdf
Private Renderer = New HtmlToPdf()
Private PDF = Renderer.RenderHtmlAsPdf("<h1>Hello World</h1>")
Private outputPath = "example.pdf"
PDF.SaveAs(outputPath)
VB   C#

步驟 2:設定 SendGrid

確保已安裝 SendGrid NuGet 套件:

Install-Package SendGrid

然後,在您的應用程式中配置SendGrid。 您需要從您的SendGrid帳戶獲取API密鑰。

using SendGrid;
using SendGrid.Helpers.Mail;
var apiKey = "your_sendgrid_api_key";
var client = new SendGridClient(apiKey);
using SendGrid;
using SendGrid.Helpers.Mail;
var apiKey = "your_sendgrid_api_key";
var client = new SendGridClient(apiKey);
Imports SendGrid
Imports SendGrid.Helpers.Mail
Private apiKey = "your_sendgrid_api_key"
Private client = New SendGridClient(apiKey)
VB   C#

步驟 3:建立並發送附有 PDF 附件的電子郵件

現在,創建一封電子郵件並附上先前生成的 PDF。 最後,通過 SendGrid 發送電子郵件。

var from = new EmailAddress("your_email@example.com", "Your Name");
var subject = "Sending with SendGrid is Fun";
var to = new EmailAddress("recipient_email@example.com", "Recipient Name");
var plainTextContent = "Hello, Email!";
var htmlContent = "<strong>Hello, Email!</strong>";
var msg = MailHelper.CreateSingleEmail(from, to, subject, plainTextContent, htmlContent);
// Attach the PDF
var bytes = File.ReadAllBytes(outputPath);
var file = Convert.ToBase64String(bytes);
msg.AddAttachment("example.pdf", file);
var response = await client.SendEmailAsync(msg);
var from = new EmailAddress("your_email@example.com", "Your Name");
var subject = "Sending with SendGrid is Fun";
var to = new EmailAddress("recipient_email@example.com", "Recipient Name");
var plainTextContent = "Hello, Email!";
var htmlContent = "<strong>Hello, Email!</strong>";
var msg = MailHelper.CreateSingleEmail(from, to, subject, plainTextContent, htmlContent);
// Attach the PDF
var bytes = File.ReadAllBytes(outputPath);
var file = Convert.ToBase64String(bytes);
msg.AddAttachment("example.pdf", file);
var response = await client.SendEmailAsync(msg);
Dim from = New EmailAddress("your_email@example.com", "Your Name")
Dim subject = "Sending with SendGrid is Fun"
Dim [to] = New EmailAddress("recipient_email@example.com", "Recipient Name")
Dim plainTextContent = "Hello, Email!"
Dim htmlContent = "<strong>Hello, Email!</strong>"
Dim msg = MailHelper.CreateSingleEmail(from, [to], subject, plainTextContent, htmlContent)
' Attach the PDF
Dim bytes = File.ReadAllBytes(outputPath)
Dim file = Convert.ToBase64String(bytes)
msg.AddAttachment("example.pdf", file)
Dim response = Await client.SendEmailAsync(msg)
VB   C#

此代碼範例說明如何生成一個簡單的 PDF 文件,將其附加到電子郵件中,並通過 SendGrid 發送。 這是一個簡單的過程,將 IronPDF 的文件生成功能和 SendGrid 的電子郵件功能分別集成到 .NET 應用程式中。

結論

Sendgrid .NET(開發者如何運作): 圖3 - IronPDF授權頁面

總而言之,本指南全面概述了在 .NET 應用程式中整合 SendGrid .NET 用於電子郵件服務以及 IronPDF 用於 PDF 文件管理。 透過遵循所述步驟,開發人員可以有效地實現具有可自定義HTML內容和SMTP服務選項的電子郵件發送功能,並管理電子郵件活動。

此外,IronPDF 的整合允許動態生成和郵寄 PDF 文件,例如財務報告或發票,展示了這些強大庫的實際應用案例。 對這些功能感興趣的開發人員可以利用IronPDF 免費試用版在購買許可證之前。 IronPDF 授權細節和定價方案起價 $749。

< 上一頁
Tinymce .NET(它如何為開發者工作)
下一個 >
C# Devart.Data.Oracle(開發人員如何使用)

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

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