.NET 帮助

Sendgrid .NET(开发人员如何使用)

发布 2024年四月29日
分享:

发送网格作为 Twilio 的一部分,SendGrid 提供基于云的服务,帮助客户简单地发送电子邮件,简化通信流程。创建 SendGrid 账户后,您就可以使用 SMTP 中继和 API 密钥等功能。它可以高效地发送电子邮件。SMTP 中继是这一过程的核心,因为它能让你的邮件从你的服务器通过 SendGrid 的系统发送。域验证功能可验证您的域名。由于 SendGrid 是开源的,你可以访问其 GitHub repo 并帮助修改它。

在本指南中,我们将解读 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 设置。然后,在应用程序中使用这些设置。这种方法需要在 SMTP 客户端中设置 SendGrid 服务器的详细信息。下面是一个基本设置:

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 面板中设置 webhooks。然后,在您的应用程序中处理这些事件。这样可以保持邮件列表的整洁,提高邮件的送达率。

验证域

域名验证对于电子邮件的发送非常重要。它可以验证您的域名所有权。在 SendGrid 中,通过仪表板设置域名验证。这包括添加 DNS 记录。一旦通过验证,电子邮件对于收件人和电子邮件提供商来说就显得更可信了。

将 IronPDF 与 SendGrid 集成

IronPDF 简介

Sendgrid .NET(如何为开发人员工作):图 2 - IronPDF 主页

IronPDF 是一个允许开发人员在 .NET 应用程序中创建、编辑和提取 PDF 内容的库。它提供了一种以编程方式处理 PDF 文件的直接方法。它使 PDF 文件的处理变得更容易,而不需要深厚的 PDF 规范知识。使用 IronPDF,开发人员可以 将 HTML 转换为 PDF编辑现有的 PDF 文件,并提取内容。

IronPDF 与 SendGrid C&num 合并的用例;

在商业应用程序中,需要动态生成财务报告、发票或个性化文档,并通过电子邮件发送给客户或利益相关者。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和用于PDF文档管理的IronPDF。按照概述的步骤,开发人员可以通过可定制的 HTML 内容和 SMTP 服务选项有效地实现电子邮件发送功能,并管理电子邮件活动。

此外,IronPDF 的集成允许动态生成和通过电子邮件发送 PDF 文档,如财务报告或发票,展示了合并这些功能强大的库的实际用例。有兴趣探索这些功能的开发人员可以利用 免费试用 在获得许可之前,请先试用 IronPDF。 许可证 价格从 749 美元起。

< 前一页
Tinymce .NET(开发人员如何使用)
下一步 >
C# Devart.Data.Oracle(开发人员如何使用)

准备开始了吗? 版本: 2024.9 刚刚发布

免费NuGet下载 总下载量: 10,731,156 查看许可证 >