AYUDA .NET

Sendgrid .NET (Cómo funciona para desarrolladores)

Actualizado 29 de abril, 2024
Compartir:

SendGrid, parte de Twilio SendGrid, ofrece un servicio basado en la nube para ayudar a los clientes a enviar correos electrónicos de forma sencilla, agilizando los procesos de comunicación. Cuando crea una cuenta SendGrid, obtiene acceso a funciones como el relé SMTP y las claves API. Permite enviar mensajes de correo electrónico de forma eficaz. El relé SMTP es el núcleo de este proceso ya que hace que sus emails sean enviados desde su servidor a través del sistema de SendGrid. La función de dominio autenticado verifica su dominio. Como SendGrid es de código abierto, puedes acceder a su repositorio de GitHub y ayudar a modificarlo.

En esta guía, pretendemos desentrañar las características y funcionalidades de SendGrid .NET, guiándole a través de la configuración inicial, las operaciones básicas y las características más avanzadas. Ya sea que esté buscando enviar su primer correo electrónico a través de código u optimizar sus campañas de correo electrónico, este artículo es su punto de partida para dominar SendGrid .NET y su integración con IronPDF.

Primeros pasos con SendGrid .NET

En primer lugar, debe configurar SendGrid .NET en su proyecto. Comience instalando el paquete SendGrid .NET. Utilice NuGet Package Manager para ello. Abra Visual Studio y, a continuación, la consola del gestor de paquetes. Escribe el siguiente comando:

Install-Package SendGrid

Sendgrid .NET (Cómo funciona para desarrolladores): Figura 1 - Instalación de SendGrid.NET a través de la consola del gestor de paquetes NuGet en Visual Studio

Este comando añade SendGrid a su proyecto. Tras la instalación, configure su cuenta SendGrid. Necesita una clave API. Ir a la Sitio web de SendGrid. Crea una cuenta si aún no la tienes. Una vez iniciada la sesión, vaya a Configuración. Buscar claves API. Haga clic en Crear clave API. Dale un nombre y selecciona el nivel de acceso. Copie la clave API. Lo utilizarás en tu aplicación.

Ejemplo de código básico

Ahora, enviemos un correo electrónico. Crear una nueva instancia de SendGridClient. Pasa tu clave API al constructor. A continuación, cree un SendGridMessage. Establezca las direcciones de correo electrónico del remitente y del destinatario. Añade un asunto y el contenido del correo electrónico. Por último, utilice SendGridClient para enviar el mensaje. He aquí un ejemplo básico:

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#

Este código envía un simple correo electrónico. Muestra los fundamentos del uso de SendGrid .NET. A partir de aquí, puedes ampliar las funciones.

Características de SendGrid .NET

Envío de correos electrónicos con contenido HTML personalizado

Para enviar un correo electrónico con contenido HTML, primero hay que crear el HTML. A continuación, utilice SendGridMessage para establecer HtmlContent. Esto le permite diseñar correos electrónicos enriquecidos. He aquí cómo:

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#

Uso del servicio SMTP de SendGrid

A veces, es posible que prefiera SMTP para enviar correos electrónicos. SendGrid también lo admite. Configure sus ajustes SMTP en SendGrid. A continuación, utilice esta configuración en su aplicación. Este método requiere configurar un cliente SMTP con los detalles del servidor de SendGrid. Aquí tienes una configuración básica:

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#

Gestión de campañas de correo electrónico

SendGrid .NET permite gestionar campañas de correo electrónico. Cree, envíe y realice el seguimiento de campañas a través de la API. Para obtener información detallada sobre la gestión de campañas, consulte la documentación de la API de SendGrid. Esta función va más allá del envío básico de correos electrónicos, pero es muy valiosa para los esfuerzos de marketing.

Gestión de mensajes rebotados e informes de spam

Gestionar los rebotes y los informes de spam es crucial. SendGrid .NET proporciona webhooks para estos eventos. Configure webhooks en su panel de SendGrid. A continuación, procesa estos eventos en tu aplicación. Esto mantiene su lista de correo electrónico limpia y mejora la capacidad de entrega.

Autenticación de dominios

La autenticación de dominios es importante para la entregabilidad del correo electrónico. Verifica la propiedad de su dominio. En SendGrid, configura la autenticación del dominio a través del panel de control. Esto implica añadir registros DNS. Una vez verificados, los correos electrónicos parecen más fiables para los destinatarios y los proveedores de correo electrónico.

Integrar IronPDF con SendGrid

Presentación de IronPDF

Sendgrid .NET (Cómo funciona para desarrolladores): Figura 2 - Página de inicio de IronPDF

IronPDF es una biblioteca que permite a los desarrolladores crear, editar y extraer contenido PDF dentro de aplicaciones .NET. Proporciona un enfoque directo para tratar archivos PDF mediante programación. Facilita el trabajo con archivos PDF sin necesidad de profundos conocimientos de las especificaciones de PDF. Con IronPDF, los desarrolladores pueden convertir HTML a PDF editar PDF existentes y extraer contenido.

Caso práctico de fusión de IronPDF con SendGrid C#

En una aplicación empresarial, es necesario generar informes financieros, facturas o documentos personalizados de forma dinámica y enviarlos a clientes o partes interesadas por correo electrónico. IronPDF puede utilizarse para crear estos documentos a partir de plantillas o fuentes de datos, convirtiéndolos a formato PDF. Posteriormente, utilizando el cliente C# de SendGrid, estos documentos PDF pueden adjuntarse a correos electrónicos y enviarse automáticamente a los destinatarios previstos.

Instalar la biblioteca IronPDF

Para utilizar IronPDF, primero debe instalar el paquete NuGet. En primer lugar, abra la consola NuGet Package Manager y ejecute este comando:

Install-Package IronPdf

Ejemplo de código de caso de uso con detalles y pasos

Paso 1: Generar PDF con IronPDF

En primer lugar, generamos un documento PDF. Crearemos un PDF sencillo a partir de una cadena HTML como ejemplo.

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#

Paso 2: Configurar SendGrid

Asegúrese de tener instalado el paquete SendGrid NuGet:

Install-Package SendGrid

A continuación, configure SendGrid en su aplicación. Necesitará una clave API de su cuenta SendGrid.

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#

Paso 3: Crear y enviar un correo electrónico con un archivo PDF adjunto

Ahora, cree un mensaje de correo electrónico y adjunte el PDF generado anteriormente. Por último, envíe el correo electrónico a través de 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);
//  Adjuntar el 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);
//  Adjuntar el 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)
'  Adjuntar el PDF
Dim bytes = File.ReadAllBytes(outputPath)
Dim file = Convert.ToBase64String(bytes)
msg.AddAttachment("example.pdf", file)
Dim response = Await client.SendEmailAsync(msg)
VB   C#

Este ejemplo de código ilustra la generación de un documento PDF simple, adjuntándolo a un correo electrónico y enviándolo a través de SendGrid. Se trata de un proceso sencillo que integra las funciones de generación de documentos y correo electrónico de IronPDF y SendGrid, respectivamente, en una aplicación .NET.

Conclusión

Sendgrid .NET (Cómo funciona para desarrolladores): Figura 3 - Página de licencias de IronPDF

En conclusión, esta guía proporciona una visión completa de la integración de SendGrid .NET para servicios de correo electrónico e IronPDF para la gestión de documentos PDF dentro de aplicaciones .NET. Siguiendo los pasos descritos, los desarrolladores pueden implementar eficientemente funcionalidades de envío de correo electrónico con contenido HTML personalizable y opciones de servicio SMTP, y gestionar campañas de correo electrónico.

Además, la integración de IronPDF permite la generación dinámica y el envío por correo electrónico de documentos PDF, como informes financieros o facturas, lo que demuestra un caso práctico de uso de la fusión de estas potentes bibliotecas. Los desarrolladores interesados en explorar estas funcionalidades pueden aprovechar la herramienta prueba gratuita de IronPDF antes de adquirir una licencia. Licencia El precio parte de 749 dólares.

< ANTERIOR
Tinymce .NET (Cómo funciona para desarrolladores)
SIGUIENTE >
C# Devart.Data.Oracle (Cómo funciona para desarrolladores)

¿Listo para empezar? Versión: 2024.7 recién publicada

Descarga gratuita de NuGet Descargas totales: 9,974,197 Ver licencias >
123