.NET 帮助

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

发布 2024年四月29日
分享:

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

在本指南中,我们将解读 SendGrid .NET 的特性和功能,指导您完成初始设置、基本操作和更高级的功能。 无论您是想通过代码发送第一封电子邮件,还是想优化您的电子邮件营销活动,这篇文章都是您掌握 SendGrid .NET 及其与以下工具集成的起点用于 PDF 操作的 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 功能PDF 是一个允许开发人员在 .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#

第二步:设置 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 发送。 这是一个简单明了的过程,在 .NET 应用程序中分别集成了 IronPDF 和 SendGrid 的文档生成和电子邮件功能。

结论

Sendgrid .NET(如何为开发人员工作):图 3 - IronPDF 许可页面

总之,本指南全面介绍了如何在 .NET 应用程序中集成 SendGrid .NET 的电子邮件服务和 IronPDF 的 PDF 文档管理。 按照概述的步骤,开发人员可以通过可定制的 HTML 内容和 SMTP 服务选项有效地实现电子邮件发送功能,并管理电子邮件活动。

此外,通过 IronPDF 的集成,可以动态生成并通过电子邮件发送 PDF 文档,如财务报告或发票,展示了合并这些功能强大的库的实际用例。 有兴趣探索这些功能的开发人员可以利用IronPDF 免费试用版在承诺使用许可证之前,请务必仔细阅读译文。 IronPDF 许可证详细信息和定价选项749 美元起。

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

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

免费NuGet下载 总下载量: 11,781,565 查看许可证 >