.NET 帮助 Sendgrid .NET(开发人员如何使用) Curtis Chau 已更新:七月 28, 2025 Download IronPDF NuGet 下载 DLL 下载 Windows 安装程序 Start Free Trial Copy for LLMs Copy for LLMs Copy page as Markdown for LLMs Open in ChatGPT Ask ChatGPT about this page Open in Gemini Ask Gemini about this page Open in Grok Ask Grok about this page Open in Perplexity Ask Perplexity about this page Share Share on Facebook Share on X (Twitter) Share on LinkedIn Copy URL Email article 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添加到您的项目中。 安装后,设置您的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); } 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); } Imports SendGrid Imports SendGrid.Helpers.Mail Imports System.Threading.Tasks ' Asynchronous method to send an email using SendGrid Shared Async Function SendEmailAsync() As Task ' Initialize a SendGrid client with your API key Dim client = New SendGridClient("your_api_key") ' Create a new email message 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>" } ' Add a recipient to your email message message.AddTo(New EmailAddress("recipient_email@example.com", "Recipient Name")) ' Send the email and retrieve the response Dim response = Await client.SendEmailAsync(message) End Function $vbLabelText $csharpLabel 此代码发送一封简单的电子邮件。 它展示了使用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); } 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); } Imports SendGrid Imports SendGrid.Helpers.Mail Imports System.Threading.Tasks ' Asynchronous method to send an email with custom HTML content Shared Async Function SendCustomHtmlEmailAsync() As Task ' Initialize a SendGrid client with your API key Dim client = New SendGridClient("your_api_key") ' Create a new email message with rich HTML content 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>" } ' Add a recipient to your email message message.AddTo(New EmailAddress("recipient_email@example.com", "Recipient Name")) ' Send the email and retrieve the response Dim response = Await client.SendEmailAsync(message) End Function $vbLabelText $csharpLabel 使用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); } } 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); } } Imports System.Net Imports System.Net.Mail ' Method to send an email using SendGrid's SMTP service Private Sub SendSmtpEmail() ' Configure SMTP client with SendGrid's server details Using client = New SmtpClient("smtp.sendgrid.net") With { .Port = 587, .Credentials = New NetworkCredential("apikey", "your_sendgrid_apikey"), .EnableSsl = True } ' Create a new mail message 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 } ' Add a recipient to the mail message mailMessage.To.Add("recipient_email@example.com") ' Send the email client.Send(mailMessage) End Using End Sub $vbLabelText $csharpLabel 管理电子邮件营销活动 SendGrid .NET允许管理电子邮件营销活动。 通过API创建、发送和跟踪活动。 有关详细的活动管理,请参阅SendGrid的API文档。 该功能超越了基础的电子邮件发送,但对于营销活动非常有价值。 处理退信和垃圾邮件报告 处理退信和垃圾邮件报告至关重要。 SendGrid .NET为这些事件提供了webhook。 在您的SendGrid仪表板中设置webhook。 然后,在您的应用程序中处理这些事件。 这使得您的邮件列表保持清洁并提高可递送性。 验证域名 验证域名对于电子邮件的可递送性非常重要。 它验证您的域名的所有权。在SendGrid中,通过仪表板设置域名验证。 这涉及到添加DNS记录。 一旦验证通过,邮件对收件人和电子邮件提供商而言看起来更值得信赖。 将IronPDF与SendGrid集成 IronPDF介绍 探索IronPDF功能是一个库,允许开发人员在.NET应用程序中创建、编辑和提取PDF内容。 它提供了一种简单的方法来以编程方式处理PDF文件。 这样做更容易处理PDF文件,而无需深入了解PDF规范。 通过IronPDF,开发人员可以使用HTML转换成PDF, 编辑现有PDF并提取内容。 IronPDF与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"); } } 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"); } } Imports IronPdf Friend Class Program Shared Sub Main(ByVal args() As String) Dim renderer = New ChromePdfRenderer() ' 1. Convert HTML String to PDF Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>" Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent) pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf") ' 2. Convert HTML File to PDF Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath) pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf") ' 3. Convert URL to PDF Dim url = "http://ironpdf.com" ' Specify the URL Dim pdfFromUrl = renderer.RenderUrlAsPdf(url) pdfFromUrl.SaveAs("URLToPDF.pdf") End Sub End Class $vbLabelText $csharpLabel 安装IronPDF库 使用IronPDF,您首先需要安装NuGet包。 首先,打开NuGet包管理器控制台,然后运行此命令: 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); 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); Imports IronPdf ' Instantiates a new HtmlToPdf object Private Renderer = New HtmlToPdf() ' Constructs a PDF from an HTML string Private PDF = Renderer.RenderHtmlAsPdf("<h1>Hello World</h1>") ' Define the output path for the PDF file Private outputPath = "example.pdf" ' Saves the generated PDF to the specified path PDF.SaveAs(outputPath) $vbLabelText $csharpLabel 步骤2:设置SendGrid 确保您已安装SendGrid NuGet包: 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); using SendGrid; using SendGrid.Helpers.Mail; // Initialize SendGrid client with your API key var apiKey = "your_sendgrid_api_key"; var client = new SendGridClient(apiKey); Imports SendGrid Imports SendGrid.Helpers.Mail ' Initialize SendGrid client with your API key Private apiKey = "your_sendgrid_api_key" Private client = New SendGridClient(apiKey) $vbLabelText $csharpLabel 步骤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); } 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); } Imports System Imports System.IO Imports System.Threading.Tasks Imports SendGrid Imports SendGrid.Helpers.Mail ' Asynchronous method to create and send an email with a PDF attachment Async Function SendEmailWithPdfAttachmentAsync() As Task ' Define sender and recipient email addresses 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>" ' Create a new email message Dim msg = MailHelper.CreateSingleEmail(from, [to], subject, plainTextContent, htmlContent) ' Attach the PDF Dim bytes = File.ReadAllBytes("example.pdf") Dim file = Convert.ToBase64String(bytes) msg.AddAttachment("example.pdf", file) ' Send the email and retrieve the response Dim response = Await client.SendEmailAsync(msg) End Function $vbLabelText $csharpLabel 此代码示例展示了如何生成简单的PDF文档,将其作为附件附加到电子邮件中,并通过SendGrid发送邮件。 这是一个直接的过程,将IronPDF和SendGrid的文档生成和电子邮件功能分别集成在.NET应用程序中。 结论 总之,本指南全面展示了在.NET应用程序中集成用于电子邮件服务的SendGrid .NET和用于PDF文档管理的IronPDF。 通过遵循所述步骤,开发人员可以有效地实现具有可自定义HTML内容的电子邮件发送功能和SMTP服务选项,以及管理电子邮件营销活动。 此外,IronPDF的集成支持动态生成和发送PDF文档,比如财务报告或发票,展示了这些强大库的实际使用案例。 对探索这些功能感兴趣的开发人员可以在购买许可证之前利用IronPDF免费试用。 IronPDF许可证详细信息和价格选项起价为$799。 常见问题解答 如何在我的项目中设置 SendGrid .NET? 通过 Visual Studio 中的 NuGet 包管理器安装 SendGrid 包来设置 SendGrid .NET。安装后,创建一个 SendGrid 账户并生成 API 密钥,以开始发送电子邮件。 使用 SendGrid .NET 发送电子邮件的步骤是什么? 使用 SendGridClient 和您的 API 密钥,构造一个包含必要发件人和收件人详细信息的 SendGridMessage,并使用 SendGridClient 的 SendEmailAsync 方法发送消息。 如何使用 SendGrid .NET 发送包含丰富 HTML 的电子邮件? 要发送 HTML 丰富的电子邮件,在发送电子邮件之前,将 SendGridMessage 的 HtmlContent 属性设置为自定义 HTML 内容。 在 .NET 应用程序中使用 SendGrid 是否可以使用 SMTP? 是的,可以通过使用 SendGrid 的 SMTP 服务器详细信息配置 SMTP 客户端,并使用您的 API 密钥作为凭证。 我如何在 .NET 中生成 PDF 文档以作为电子邮件附件? 可以使用 IronPDF 的 ChromePdfRenderer 将 HTML 内容转换为 PDF 文件,然后使用 SaveAs 方法保存。 使用 SendGrid 将 PDF 附件附加到电子邮件的过程是什么? 将 PDF 转换为字节数组,编码为 base64 字符串,并使用 SendGridMessage 的 AddAttachment 方法将 PDF 附件附加到电子邮件。 为什么在使用 SendGrid 时,域认证很重要? 域认证至关重要,因为它验证了您域的所有权,提高了电子邮件的可送达性,确保您的电子邮件被收件人信任。 IronPDF 如何在 .NET 应用程序中增强 SendGrid 的功能? IronPDF 允许开发人员创建和操作 PDF 文档,这可以与 SendGrid 集成以发送生成的 PDF 作为电子邮件附件,增强文档管理功能。 使用 SendGrid 管理电子邮件营销活动的好处是什么? SendGrid 提供强大的功能,通过其 API 创建、发送和跟踪电子邮件活动,提供详细的管理选项,如 SendGrid 的 API 文档中所述。 如何处理 SendGrid 中的退信和垃圾邮件报告? 使用 SendGrid 的 webhooks 处理退信和垃圾邮件报告。通过这些 webhooks,您的应用程序可以接收到关于电子邮件发送问题的通知,让您可以有效地管理它们。 Curtis Chau 立即与工程团队聊天 技术作家 Curtis Chau 拥有卡尔顿大学的计算机科学学士学位,专注于前端开发,精通 Node.js、TypeScript、JavaScript 和 React。他热衷于打造直观且美观的用户界面,喜欢使用现代框架并创建结构良好、视觉吸引力强的手册。除了开发之外,Curtis 对物联网 (IoT) 有浓厚的兴趣,探索将硬件和软件集成的新方法。在空闲时间,他喜欢玩游戏和构建 Discord 机器人,将他对技术的热爱与创造力相结合。 相关文章 已更新九月 4, 2025 RandomNumberGenerator C# 使用 RandomNumberGenerator C# 类可以帮助将您的 PDF 生成和编辑项目提升到一个新的高度。 阅读更多 已更新九月 4, 2025 C# String Equals(开发者用法) 与强大的 PDF 库 IronPDF 结合使用,切换模式匹配允许您为文档处理构建更智能、更简洁的逻辑。 阅读更多 已更新八月 5, 2025 C# Switch 模式匹配(开发者用法) 与强大的 PDF 库 IronPDF 结合使用,切换模式匹配允许您为文档处理构建更智能、更简洁的逻辑。 阅读更多 Tinymce .NET(开发人员如何使用)C# Devart.Data.Oracle(开发人...
已更新九月 4, 2025 RandomNumberGenerator C# 使用 RandomNumberGenerator C# 类可以帮助将您的 PDF 生成和编辑项目提升到一个新的高度。 阅读更多