.NET 幫助

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

發佈 2024年4月29日
分享:

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

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

開始使用 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 金鑰。 點擊創建 API 金鑰。 給它命名並選擇訪問級別。 複製 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 提供了這些事件的網絡掛鉤。在您的 SendGrid 儀表板中設置網絡掛鉤。然後,在您的應用程式中處理這些事件。這可以保持您的郵件列表乾淨並提高送達率。

認證網域

網域認證對於電子郵件的可送達性至關重要。它能驗證您網域的所有權。在SendGrid中,通過儀表板設置網域認證。這涉及添加DNS記錄。一旦驗證通過,電子郵件對收件人和電子郵件提供商來說就會顯得更值得信賴。

將 IronPDF 與 SendGrid 整合

IronPDF 介紹

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

IronPDF 是一個允許開發人員在 .NET 應用程式中創建、編輯和提取 PDF 內容的程式庫。它提供了一種以程式碼模式處理 PDF 文件的直接方法。用 IronPDF 可以更輕鬆地處理 PDF 文件,而不需要深入了解 PDF 規範。有了 IronPDF,開發人員可以 將 HTML 轉換為 PDF編輯現有的PDF,以及提取內容。

IronPDF 與 SendGrid C# 合併的使用案例

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

安裝 IronPDF 庫

為了使用 IronPDF,您首先需要安裝 NuGet 套件。首先,打開 NuGet 套件管理器控制台,然後運行以下命令:

Install-Package IronPdf

使用範例代碼與詳細步驟

第一步:使用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#

第三步:建立並發送帶有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授權頁面

總結來說,本指南提供了整合 SendGrid .NET 進行電子郵件服務和 IronPDF 進行 PDF 文件管理的完整概述。通過遵循所列步驟,開發者可以高效地實現包含可定制 HTML 內容和 SMTP 服務選項的電子郵件發送功能,並管理電子郵件行銷活動。

此外,整合 IronPDF 可以動態生成和發送 PDF 文件,如財務報告或發票,展示這些強大程式庫的實際應用案例。對這些功能有興趣的開發者可以利用这些工具進行探討和實施。 免費試用 在購買授權許可證之前了解IronPDF。 許可證 費用從 $749 開始。

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

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

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