
Sendgrid .NET (Funktionsweise für Entwickler)
SendGrid, Teil von Twilio SendGrid, bietet einen cloudbasierten Dienst, der Kunden das Senden von E-Mails erleichtert und Kommunikationsprozesse optimiert. Wenn Sie ein SendGrid-Konto erstellen, erhalten Sie Zugriff auf Funktionen wie SMTP-Relay und API-Schlüssel, wodurch das Versenden von E-Mails effizient wird. Das SMTP-Relay ist der Kern dieses Prozesses, da es ermöglicht, dass Ihre E-Mails von Ihrem Server über das System von SendGrid gesendet werden. Die authentifizierte Domänenfunktion überprüft Ihre Domain. Da SendGrid Open Source ist, können Sie auf das GitHub-Repo zugreifen und helfen, es zu modifizieren.
In diesem Leitfaden möchten wir die Funktionen und Eigenschaften von SendGrid .NET erläutern und Sie durch die anfängliche Einrichtung, grundlegende Vorgänge und fortgeschrittenere Funktionen führen. Ob Sie Ihre erste E-Mail durch Code senden oder Ihre E-Mail-Kampagnen optimieren möchten, dieser Artikel ist Ihr Ausgangspunkt, um SendGrid .NET und seine Integration mit IronPDF zur PDF-Manipulation zu meistern.
Einstieg in SendGrid .NET
Zuerst müssen Sie SendGrid .NET in Ihrem Projekt einrichten. Beginnen Sie mit der Installation des SendGrid .NET-Pakets. Verwenden Sie dazu den NuGet-Paketmanager. Öffnen Sie Visual Studio und dann die Paket-Manager-Konsole. Geben Sie den folgenden Befehl ein:

Dieser Befehl fügt SendGrid zu Ihrem Projekt hinzu. Nach der Installation richten Sie Ihr SendGrid-Konto ein. Sie benötigen einen API-Schlüssel. Gehen Sie zur SendGrid-Website. Erstellen Sie ein Konto, wenn Sie noch keines haben. Nach dem Einloggen zu den Einstellungen navigieren. Suchen Sie API-Schlüssel. Klicken Sie auf API-Schlüssel erstellen. Geben Sie ihm einen Namen und wählen Sie die Zugriffsebene aus. Kopieren Sie den API-Schlüssel. Sie werden diesen in Ihrer Anwendung verwenden.
Einfaches Code-Beispiel
Senden wir jetzt eine E-Mail. Erstellen Sie eine neue Instanz des SendGridClient. Übergeben Sie Ihrem Konstruktor Ihren API-Schlüssel. Erstellen Sie dann eine SendGridMessage. Setzen Sie die Absender- und Empfänger-E-Mail-Adressen. Fügen Sie einen Betreff und den E-Mail-Inhalt hinzu. Verwenden Sie schließlich den SendGridClient, um die Nachricht zu senden. Hier ist ein einfaches Beispiel:
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 FunctionDieser Code sendet eine einfache E-Mail. Er zeigt die Grundlagen der Verwendung von SendGrid .NET. Von hier aus können Sie weitere Funktionen nutzen.
Einführung der Funktionen von SendGrid .NET
E-Mails mit benutzerdefiniertem HTML-Inhalt versenden
Um eine E-Mail mit HTML-Inhalt zu senden, erstellen Sie zuerst Ihr HTML. Verwenden Sie dann SendGridMessage, um HtmlContent festzulegen. Damit gestalten Sie reichhaltige E-Mails. So geht's:
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 FunctionVerwendung des SendGrid SMTP-Dienstes
Manchmal bevorzugen Sie möglicherweise SMTP, um E-Mails zu senden. SendGrid unterstützt dies ebenfalls. Konfigurieren Sie Ihre SMTP-Einstellungen in SendGrid. Verwenden Sie dann diese Einstellungen in Ihrer Anwendung. Diese Methode erfordert die Einrichtung eines SMTP-Clients mit den Serverdetails von SendGrid. Hier ist ein Setup:
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 SubVerwaltung von E-Mail-Kampagnen
SendGrid .NET ermöglicht die Verwaltung von E-Mail-Kampagnen. Erstellen, senden und nachverfolgen von Kampagnen über die API. Für eine detaillierte Kampagnenverwaltung können Sie die API-Dokumentation von SendGrid zu Rate ziehen. Diese Funktion geht über das einfache Versenden von E-Mails hinaus und ist für Marketinganstrengungen wertvoll.
Behandlung von unzustellbaren E-Mails und Spam-Berichten
Der Umgang mit Rückläufern und Spam-Berichten ist entscheidend. SendGrid .NET bietet Webhooks für diese Ereignisse. Richten Sie Webhooks in Ihrem SendGrid-Dashboard ein. Verarbeiten Sie diese Ereignisse dann in Ihrer Anwendung. Dies hält Ihre E-Mail-Liste sauber und verbessert die Zustellbarkeit.
Authentifizierung von Domains
Die Domänenauthentifizierung ist wichtig für die Zustellbarkeit von E-Mails. Sie überprüft den Besitz Ihrer Domain. In SendGrid können Sie die Domänenauthentifizierung über das Dashboard einrichten. Dies erfordert das Hinzufügen von DNS-Einträgen. Sobald verifiziert, erscheinen E-Mails den Empfängern und E-Mail-Anbietern vertrauenswürdiger.
Integration von IronPDF mit SendGrid
Einführung in IronPDF

Erkunden Sie die Möglichkeiten von IronPDF ist eine Bibliothek, die es Entwicklern ermöglicht, PDF-Inhalte in .NET-Anwendungen zu erstellen, zu bearbeiten und zu extrahieren. Sie bietet einen unkomplizierten Ansatz zur Bearbeitung von PDF-Dateien auf programmatische Weise. Es erleichtert die Arbeit mit PDF-Dateien, ohne tiefes Wissen über PDF-Spezifikationen zu benötigen. Mit IronPDF können Entwickler HTML in PDF mit IronPDF-Ankern konvertieren, bestehende PDFs bearbeiten und Inhalte extrahieren.
Use Case of Merging IronPDF with SendGrid C#
In einer Geschäftsanwendung müssen Finanzberichte, Rechnungen oder personalisierte Dokumente dynamisch generiert und per E-Mail an Kunden oder Interessengruppen gesendet werden. IronPDF kann verwendet werden, um diese Dokumente aus Vorlagen oder Datenquellen zu erstellen und sie in das PDF-Format zu konvertieren. In der Folge können diese PDF-Dokumente mithilfe des C#-Clients von SendGrid an E-Mails angehängt und automatisch an die vorgesehenen Empfänger versandt werden.
IronPDF überzeugt in der HTML-zu-PDF-Konvertierung, indem es den originalen Layouts und Stilen präzise erhält. Es ist ideal zur Erstellung von PDFs aus webbasierten Inhalten wie Berichten, Rechnungen und Dokumentationen. Mit Unterstützung für HTML-Dateien, URLs und rohe HTML-Strings erstellt IronPDF problemlos hochwertige PDF-Dokumente.
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 ClassIronPDF-Bibliothek installieren
Um IronPDF zu verwenden, müssen Sie zuerst das NuGet-Paket installieren. Öffnen Sie zuerst die NuGet-Paketmanager-Konsole und führen Sie diesen Befehl aus:
Code-Beispiel eines Anwendungsfalls mit Details und Schritten
Schritt 1: PDF mit IronPDF generieren
Zuerst generieren wir ein PDF-Dokument. Wir erstellen ein einfaches PDF aus einem HTML-String als Beispiel.
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)Schritt 2: Einrichten von SendGrid
Stellen Sie sicher, dass Sie das SendGrid-NuGet-Paket installiert haben:
Konfigurieren Sie dann SendGrid in Ihrer Anwendung. Sie benötigen einen API-Schlüssel von Ihrem SendGrid-Konto.
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)Schritt 3: E-Mail mit PDF-Anhang erstellen und versenden
Erstellen Sie nun eine E-Mail-Nachricht und fügen Sie das zuvor erstellte PDF an. Senden Sie schließlich die E-Mail über 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);
}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 FunctionDieses Codebeispiel zeigt die Generierung eines einfachen PDF-Dokuments, das Anfügen an eine E-Mail und den Versand über SendGrid. Es ist ein unkomplizierter Prozess, der die Dokumentenerstellung und E-Mail-Funktionen von IronPDF und SendGrid, in einer .NET-Anwendung integriert.
Abschluss

Zusammenfassend bietet dieser Leitfaden einen umfassenden Überblick über die Integration von SendGrid .NET für E-Mail-Dienste und IronPDF zur PDF-Dokumentenverwaltung in .NET-Anwendungen. Durch Befolgen der beschriebenen Schritte können Entwickler E-Mail-Sende-Funktionen effizient mit benutzerdefiniertem HTML-Inhalt und SMTP-Service-Optionen implementieren und E-Mail-Kampagnen verwalten.
Darüber hinaus ermöglicht die Integration von IronPDF die dynamische Erstellung und den Versand von PDF-Dokumenten wie Finanzberichten oder Rechnungen und zeigt einen praktischen Anwendungsfall für die Verbindung dieser leistungsstarken Bibliotheken. Entwickler, die daran interessiert sind, diese Funktionen zu erkunden, können die kostenlose Testversion von IronPDF nutzen, bevor sie sich für eine Lizenz entscheiden. IronPDF-Lizenzdetails und Preisoptionen beginnen bei $999.

Jacob Mellor ist Chief Technology Officer bei Iron Software und ein visionärer Ingenieur, der Pionierarbeit in der C# PDF-Technologie leistet. Als der ursprüngliche Entwickler hinter der Kern-Codebasis von Iron Software hat er die Produktarchitektur des Unternehmens seit seiner Gründung geprägt und es zusammen mit CEO Cameron Rimington in ein Unternehmen mit mehr als 50 Mitarbeitern verwandelt, das die NASA, Tesla und globale Regierungsbehörden beliefert.
Verwandte Artikel


