IRONSOFTWAREHOME
开发者更新

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

Jacob Mellor,Team Iron 的首席技术官
Jacob Mellor
Updated: 2026年4月21日

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,然后打开包管理器控制台。 输入以下命令:

PM > Install-Package SendGrid

SendGrid .NET(适用于开发人员的工作原理):图1 - 通过NuGet包管理器控制台在Visual Studio中安装SendGrid.NET

此命令将SendGrid添加到您的项目中。 安装后,设置您的SendGrid帐户。 您需要一个API密钥。 访问SendGrid网站。 如果您没有帐户,创建一个。 一旦登录,导航到设置。 找到API密钥。 单击创建API密钥。 为它命名并选择访问级别。 复制API密钥。 您将在应用程序中使用它。

基本代码示例

现在,让我们发送一封电子邮件。 创建一个新的SendGridClient实例。 将您的API密钥传递给构造函数。 然后,创建一个SendGridMessage。 设置发件人和收件人的电子邮件地址。 添加主题和电子邮件内容。 最后,使用SendGridClient发送消息。 以下是一个基本示例:

using SendGrid;
using SendGrid.Helpers.Mail;
using System.Threading.Tasks;

// Asynchronous method to send an email using SendGrid
static async Task SendEmailAsync()
{
    // Initialize a SendGrid client with your API key
    var client = new SendGridClient("your_api_key");

    // Create a new email message
    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>"
    };

    // Add a recipient to your email message
    message.AddTo(new EmailAddress("recipient_email@example.com", "Recipient Name"));

    // Send the email and retrieve the response
    var response = await client.SendEmailAsync(message);
}

此代码发送一封简单的电子邮件。 它展示了使用SendGrid .NET的基本知识。 您可以从此处扩展以使用更多功能。

实现SendGrid .NET的功能

发送带有自定义HTML内容的电子邮件

要发送带有HTML内容的电子邮件,您首先需要创建您的HTML。 然后,使用SendGridMessage设置HtmlContent。 这让您可以设计丰富的电子邮件。 具体方法如下

using SendGrid;
using SendGrid.Helpers.Mail;
using System.Threading.Tasks;

// Asynchronous method to send an email with custom HTML content
static async Task SendCustomHtmlEmailAsync()
{
    // Initialize a SendGrid client with your API key
    var client = new SendGridClient("your_api_key");

    // Create a new email message with rich HTML content
    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>"
    };

    // Add a recipient to your email message
    message.AddTo(new EmailAddress("recipient_email@example.com", "Recipient Name"));

    // Send the email and retrieve the response
    var response = await client.SendEmailAsync(message);
}

使用SendGrid SMTP服务

有时您可能更喜欢使用SMTP来发送电子邮件。 SendGrid也支持这一点。 在SendGrid中配置您的SMTP设置。 然后,在您的应用程序中使用这些设置。 这种方法需要设置一个SMTP客户端,并使用SendGrid的服务器详细信息。 这是一个基本设置:

using System.Net;
using System.Net.Mail;

// Method to send an email using SendGrid's SMTP service
void SendSmtpEmail()
{
    // Configure SMTP client with SendGrid's server details
    using (var client = new SmtpClient("smtp.sendgrid.net")
    {
        Port = 587,
        Credentials = new NetworkCredential("apikey", "your_sendgrid_apikey"),
        EnableSsl = true,
    })
    {
        // Create a new mail message
        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,
        };

        // Add a recipient to the mail message
        mailMessage.To.Add("recipient_email@example.com");

        // Send the email
        client.Send(mailMessage);
    }
}

管理电子邮件营销活动

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,开发人员可以使用HTML转换成PDF, 编辑现有PDF并提取内容。

Use Case of Merging IronPDF with SendGrid C#

在一个业务应用中,需要动态生成财务报告、发票或个性化文件,并通过电子邮件发送给客户或利益相关者。 IronPDF可以用于从模板或数据源创建这些文件,并将它们转换为PDF格式。 随后,使用SendGrid的C#客户端,这些PDF文档可以被附加到电子邮件中,并自动发送给目标收件人。

IronPDF在HTML到PDF转换方面表现出色,确保精确保留原始布局和样式。 它非常适合从基于Web的内容中创建PDF,如报告、发票和文档。 利用对HTML文件、URL和原始HTML字符串的支持,IronPDF轻松生成高质量的PDF文档。

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        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库

使用IronPDF,您首先需要安装NuGet包。 首先,打开NuGet包管理器控制台,然后运行此命令:

PM > Install-Package IronPdf

详细步骤的使用案例代码示例

步骤1:使用IronPDF生成PDF

首先,我们生成PDF文档。 我们将创建一个简单的HTML字符串PDF作为示例。

using IronPdf;

// Instantiates a new HtmlToPdf object
var Renderer = new HtmlToPdf();

// Constructs a PDF from an HTML string
var PDF = Renderer.RenderHtmlAsPdf("<h1>Hello World</h1>");

// Define the output path for the PDF file
var outputPath = "example.pdf";

// Saves the generated PDF to the specified path
PDF.SaveAs(outputPath);

步骤2:设置SendGrid

确保您已安装SendGrid NuGet包:

PM > Install-Package SendGrid

然后,在您的应用程序中配置SendGrid。 您需要从SendGrid帐户获取API密钥。

using SendGrid;
using SendGrid.Helpers.Mail;

// Initialize SendGrid client with your API key
var apiKey = "your_sendgrid_api_key";
var client = new SendGridClient(apiKey);

步骤3:创建并发送带有PDF附件的电子邮件

现在,创建一封电子邮件并附加之前生成的PDF。 最后,通过SendGrid发送电子邮件。

using System;
using System.IO;
using System.Threading.Tasks;
using SendGrid;
using SendGrid.Helpers.Mail;

// Asynchronous method to create and send an email with a PDF attachment
async Task SendEmailWithPdfAttachmentAsync()
{
    // Define sender and recipient email addresses
    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>";

    // Create a new email message
    var msg = MailHelper.CreateSingleEmail(from, to, subject, plainTextContent, htmlContent);

    // Attach the PDF
    var bytes = File.ReadAllBytes("example.pdf");
    var file = Convert.ToBase64String(bytes);
    msg.AddAttachment("example.pdf", file);

    // Send the email and retrieve the response
    var response = await client.SendEmailAsync(msg);
}

此代码示例展示了如何生成简单的PDF文档,将其作为附件附加到电子邮件中,并通过SendGrid发送邮件。 这是一个直接的过程,将IronPDF和SendGrid的文档生成和电子邮件功能分别集成在.NET应用程序中。

结论

总之,本指南全面展示了在.NET应用程序中集成用于电子邮件服务的SendGrid .NET和用于PDF文档管理的IronPDF。 通过遵循所述步骤,开发人员可以有效地实现具有可自定义HTML内容的电子邮件发送功能和SMTP服务选项,以及管理电子邮件营销活动。

此外,IronPDF的集成支持动态生成和发送PDF文档,比如财务报告或发票,展示了这些强大库的实际使用案例。 对探索这些功能感兴趣的开发人员可以在购买许可证之前利用IronPDF免费试用。 IronPDF许可证详细信息和定价选项从$999开始。

Jacob Mellor,Team Iron 的首席技术官
首席技术官

Jacob Mellor 是 Iron Software 的首席技术官,也是一位开创 C# PDF 技术的有远见的工程师。作为 Iron Software 核心代码库的原始开发者,他从公司成立之初就开始塑造公司的产品架构,与首席执行官 Cameron Rimington 一起将公司转变为一家拥有 50 多名员工的公司,为 NASA、特斯拉和全球政府机构提供服务。

相关文章

Key in blue circle

立即获取免费的 30 天试用版密钥。

Your trial license will be sent to your email address

无任何限制。100% 解锁。无需信用卡。

OR
bullet_checked无需信用卡或创建账户无任何限制。100% 解锁。无需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
预约您的免费现场演示
Booking Badge

深受全球数百万工程师信赖

Iron Software 的客户徽标
获取您的无义务咨询
填写下面的表格或通过sales@ironsoftware.com
您的资料将始终保密。
深受全球数百万工程师信赖
Iron Software 的客户徽标
立即获取您的免费30 天试用密钥。
无需信用卡或创建账户
C# 用于 PDF 的 NuGet 库
通过 NuGet 安装

版本: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 在解决方案资源管理器中,右键点击引用,管理 NuGet 包
  2. 选择浏览并搜索 “IronPDF”
  3. 选择包并安装
C# PDF DLL
下载 DLL

版本: 2026.9

或在此处下载 Windows 安装程序。

  1. 下载并解压 IronPDF 到您的解决方案目录中的 ~/Libs 之类的位置
  2. 在 Visual Studio 解决方案资源管理器中,右键点击引用。选择浏览,“IronPDF.dll”

$999 起