
FluentEmail C# (Wie es für Entwickler funktioniert)
Im heutigen digitalen Zeitalter bleibt E-Mail ein Eckpfeiler der Kommunikation für Unternehmen und Einzelpersonen. Die Integration robuster E-Mail-Funktionalität in ASP.NET-Core-Anwendungen ist unerlässlich, um Benachrichtigungen zu automatisieren, Newsletter zu senden und Kundeninteraktionen zu erleichtern. FluentEmail, eine leistungsstarke Bibliothek für .NET, bietet Entwicklern in Kombination mit API-Schlüsseln von Mailgun eine nahtlose Lösung zur Verbesserung der E-Mail-Funktionen mit Zuverlässigkeit und Skalierbarkeit. Später in diesem Artikel werden wir uns auch die IronPDF-Bibliothek auf IronSoftware.com ansehen, um PDF-Dokumente zu erstellen und zu verwalten.
FluentEmail vereinfacht den Prozess, mehrere E-Mails programmgesteuert innerhalb von .NET-Anwendungen zu senden. Es bietet eine intuitive und flüssige Benutzeroberfläche zum Konfigurieren von E-Mail-Nachrichten, Verwalten von Anhängen und Verarbeiten von Empfängerlisten. Diese Bibliothek abstrahiert die Komplexität der SMTP-Konfiguration und unterstützt mehrere Anbieter von Vorlagen-Renderern und Dienstanbieter für Test-E-Mails, darunter Mailgun.
FluentEmail.NET ist eine beliebte Bibliothek im .NET-Core-Ökosystem zum Senden von E-Mails und unterstützt Razor-E-Mail-Vorlagen sowie Liquid-Vorlagen zur dynamischen Erstellung von E-Mail-Inhalten. Die Verwendung des Razor-Vorlagen-Renderers mit FluentEmail.NET ermöglicht es Ihnen, die Leistungsfähigkeit der Razor-Syntax zu nutzen, um gut formatierte, dynamische E-Mail-Inhalte zu erstellen und Layoutdateien aufzulösen.
Hier ist ein grundlegender Leitfaden zur Verwendung von FluentEmail.NET mit ASP.NET Core Razor-Vorlagen.
Schritt 1: FluentEmail installieren
Zuerst müssen Sie das FluentEmail-Paket und das Paket für Razor-Vorlagen-Renderer installieren, entweder mit dem Befehl Install-Package oder dem .NET-Befehl zum Hinzufügen von Paketen:
# Install packages using the Package Manager Console
Install-Package FluentEmail.Core
Install-Package FluentEmail.Razor
# Or install packages using the .NET CLI
dotnet add package FluentEmail.Core
dotnet add package FluentEmail.Razor
Schritt 2: Erstellen einer Razor-Vorlage
Erstellen Sie eine Razor-Vorlage für den E-Mail-Inhalt. Dies kann eine .cshtml Datei sein, die HTML und gültige Razor-Code-Syntax enthält. Erstellen Sie zum Beispiel eine Datei mit dem Namen EmailTemplate.cshtml:
@model YourNamespace.EmailViewModel
<!DOCTYPE html>
<html>
<head>
<title>Email Template</title>
</head>
<body>
<h1>Hello, @Model.Name!</h1>
<p>This is a sample email template.</p>
</body>
</html>
Stellen Sie sicher, dass Sie YourNamespace.EmailViewModel durch den tatsächlichen Namespace und Klassennamen Ihres View-Models oder einfach des Domain-Modells ersetzen, das Sie an diese Vorlage übergeben.
Schritt 3: FluentEmail mit Razor Renderer einrichten
Konfigurieren Sie FluentEmail, um den Razor-Renderer zu verwenden und die erforderlichen Abhängigkeiten bereitzustellen:
using FluentEmail.Core;
using FluentEmail.Razor;
public void ConfigureFluentEmail()
{
// Set up the Razor renderer
Email.DefaultRenderer = new RazorRenderer();
// Set up SMTP sender address
Email.DefaultSender = new SmtpSender(new SmtpClient("smtp.yourserver.com"));
}Imports FluentEmail.Core
Imports FluentEmail.Razor
Public Sub ConfigureFluentEmail()
' Set up the Razor renderer
Email.DefaultRenderer = New RazorRenderer()
' Set up SMTP sender address
Email.DefaultSender = New SmtpSender(New SmtpClient("smtp.yourserver.com"))
End SubSchritt 4: Rendering und Versand der E-Mail
Rendern Sie in Ihrem Anwendungscode die Razor-Vorlage mit dem gewünschten Modell und senden Sie die E-Mail:
using FluentEmail.Core;
using FluentEmail.Razor;
public void SendEmail()
{
// Specify the template file
var template = "EmailTemplate.cshtml";
// Create the email
var email = Email
.From("sender@example.com") // Set the sender's email address
.To("recipient@example.com") // Set the recipient's email address
.Subject("Sample Email"); // Set the email subject
// Define the model to pass to the template
var model = new EmailViewModel { Name = "John Doe" };
// Render the template with the model
email.UsingTemplateFromFile(template, model);
// Send the email
email.Send();
}Imports FluentEmail.Core
Imports FluentEmail.Razor
Public Sub SendEmail()
' Specify the template file
Dim template = "EmailTemplate.cshtml"
' Create the email
Dim email = Email.From("sender@example.com").To("recipient@example.com").Subject("Sample Email") ' Set the email subject
' Define the model to pass to the template
Dim model = New EmailViewModel With {.Name = "John Doe"}
' Render the template with the model
email.UsingTemplateFromFile(template, model)
' Send the email
email.Send()
End SubStellen Sie sicher, dass EmailViewModel dem Modell entspricht, das in Ihrer Razor-Vorlage (EmailTemplate.cshtml) definiert ist. Dieses Modell sollte Eigenschaften enthalten, auf die Sie in Ihrer Razor-Vorlage (@Model.Name, zum Beispiel) verweisen.
Einbindung von Mailgun API-Schlüsseln
Mailgun ist ein beliebter E-Mail-Dienstanbieter, der für seine Zuverlässigkeit, Zustellbarkeit und umfangreichen Funktionen bekannt ist. Durch die Integration von Mailgun-API-Schlüsseln mit FluentEmail können Entwickler die Infrastruktur von Mailgun nutzen, um E-Mails effizient und sicher zu senden.
Schritte zur Integration von Mailgun API-Schlüsseln in FluentEmail
-
Mailgun-API-Schlüssel beschaffen:
- Registrieren Sie sich für ein Mailgun-Konto, falls noch nicht geschehen.
- Navigieren Sie zum Mailgun-Dashboard und erstellen Sie einen neuen API-Schlüssel. Geben Sie eine Beschreibung an.

-
Installieren Sie das FluentEmail-Paket:
Verwenden Sie den NuGet-Paket-Manager oder die Paket-Manager-Konsole in Visual Studio, um FluentMail zu installieren:
# Install the FluentEmail.Mailgun package
Install-Package FluentEmail.Mailgun
oder aus Visual Studio:

- FluentEmail mit Mailgun-API-Schlüsseln konfigurieren:
Richten Sie FluentEmail so ein, dass Mailgun als E-Mail-Dienstanbieter oder SMTP-Sender verwendet wird, indem Sie Ihre API-Schlüssel konfigurieren:
using FluentEmail.Core;
using FluentEmail.Mailgun;
// Create an instance of MailgunSender
var sender = new MailgunSender("your-domain.com", "your-mailgun-api-key");
// Set the default sender for all emails
Email.DefaultSender = sender;Imports FluentEmail.Core
Imports FluentEmail.Mailgun
' Create an instance of MailgunSender
Private sender = New MailgunSender("your-domain.com", "your-mailgun-api-key")
' Set the default sender for all emails
Email.DefaultSender = sender-
E-Mails verfassen und versenden:
Verwenden Sie die flüssige Schnittstelle von FluentEmail, um E-Mails zu verfassen und zu senden:
var email = Email
.From("sender@example.com")
.To("recipient@example.com")
.Subject("Your Subject Here")
.Body("Hello, this is a test email sent via FluentMail and Mailgun!")
.Send();Dim email = Email _
.From("sender@example.com") _
.To("recipient@example.com") _
.Subject("Your Subject Here") _
.Body("Hello, this is a test email sent via FluentMail and Mailgun!") _
.Send()-
Erweiterte Konfiguration:
- Passen Sie E-Mail-Einstellungen wie Anhänge, HTML-Formatierung, CC/BCC-Empfänger und E-Mail-Header mit FluentEmails flüssiger API an.
Vorteile der Verwendung von FluentEmail mit Mailgun
- Einfachheit: FluentEmail abstrahiert die Komplexität der SMTP-Konfiguration und ermöglicht so das einfache Versenden von E-Mails mit minimalem Aufwand.
- Zuverlässigkeit: Durch die Nutzung der Mailgun-Infrastruktur werden hohe Zustellbarkeitsraten und robuste E-Mail-Verarbeitungsfunktionen gewährleistet.
- Skalierbarkeit: Mit der skalierbaren Infrastruktur von Mailgun können Sie Ihre E-Mail-Versandanforderungen mühelos skalieren. Sie eignet sich sowohl für kleine Anwendungen als auch für Lösungen auf Unternehmensebene.
- Umfangreiche Funktionen: Nutzen Sie die Funktionen von Mailgun wie Tracking, Analysen und erweiterte E-Mail-Validierung, um Ihre E-Mail-Kampagnen zu optimieren.
Einführung in IronPDF

IronPDF ist eine Node.js-PDF-Bibliothek, die es ermöglicht, Inhalte aus PDF-Dokumenten in .NET-Projekten zu generieren, zu verwalten und zu extrahieren. Hier sind einige wichtige Funktionen:
-
HTML-zu-PDF-Konvertierung:
- Konvertieren Sie HTML-, CSS- und JavaScript-Inhalte in PDF-Dokumente.
- Chrome Rendering Engine für pixelgenaue PDFs.
- Generieren Sie PDFs aus URLs, HTML-Dateien oder HTML-Strings als Eingabe.
-
Bild- und Inhaltskonvertierung:
- Konvertieren Sie Bilder zu und von PDFs.
- Extrahieren Sie Text und Bilder aus bestehenden PDF-Dokumenten.
- Unterstützung für verschiedene Bildformate wie JPG, PNG usw.
-
Bearbeitung und Manipulation:
- Eigenschaften, Sicherheit und Berechtigungen für PDFs festlegen.
- Hinzufügen digitaler Signaturen.
- Metadaten und Versionsverlauf bearbeiten.
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)
{
// Create a ChromePdfRenderer instance
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)
' Create a ChromePdfRenderer instance
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 ClassPDF-Dokumente mit IronPDF und FluentEmail .NET mit Mailgun-Sender generieren
Erstellen Sie zunächst eine Konsolenanwendung mit Visual Studio wie unten beschrieben.

Projektname bereitstellen.

Geben Sie die .NET-Version an.

IronPDF-Paket installieren.

Installieren Sie FluentEmail Mailgun.

Um E-Mail-Nachrichten im kostenlosen Test zu empfangen, sollte die Empfänger-E-Mail im Dashboard auf dem Mailgun-Registrierungs-Dashboard registriert werden, wie unten gezeigt.

using FluentEmail.Core;
using FluentEmail.Mailgun;
using IronPdf;
using System;
using System.IO;
namespace CodeSample
{
public static class FluentMailDemo
{
public static void Execute()
{
// Instantiate Renderer
var renderer = new ChromePdfRenderer();
// HTML Content to be converted into PDF and used in Email
var content = "<h1>Demo FluentEmail with Mailgun and IronPDF</h1>";
content += "<h2>Create MailgunSender</h2>";
content += "<p>1. Get API key from app.mailgun.com</p>";
var domain = "your-domain.com"; // Use your Mailgun domain
var sender = new MailgunSender(domain, "your-mailgun-api-key"); // Use your Mailgun API key
Email.DefaultSender = sender;
content += "<h2>Prepare Email</h2>";
content += $"<p>Sender: example@{domain}</p>";
content += $"<p>Receiver: recipient@example.com</p>";
content += $"<p>Subject: Checkout the New Awesome IronPDF Library from Iron Software</p>";
content += $"<p>Body: IronPDF is the leading C# PDF library for generating & editing PDFs. It has friendly API and allows developers to rapidly deliver high quality PDFs from HTML in .NET projects.</p>";
// Render HTML content to PDF
var pdf = renderer.RenderHtmlAsPdf(content);
// Export the PDF to a file
pdf.SaveAs("AwesomeFluentEmailAndIron.pdf");
// Compose and send the email
var email = Email
.From($"example@{domain}")
.To("recipient@example.com")
.Subject("Checkout the New Awesome IronPDF Library from Iron Software")
.Body("IronPDF is the leading C# PDF library for generating & editing PDFs. It has a friendly API and allows developers to rapidly deliver high quality PDFs from HTML in .NET projects.")
.Attach(new FluentEmail.Core.Models.Attachment
{
Data = File.OpenRead("AwesomeFluentEmailAndIron.pdf"),
Filename = "AwesomeFluentEmailAndIron.pdf",
ContentType = "application/pdf"
})
.Send();
Console.WriteLine($"Is Send Success: {email.Successful}");
}
}
}Imports FluentEmail.Core
Imports FluentEmail.Mailgun
Imports IronPdf
Imports System
Imports System.IO
Namespace CodeSample
Public Module FluentMailDemo
Public Sub Execute()
' Instantiate Renderer
Dim renderer = New ChromePdfRenderer()
' HTML Content to be converted into PDF and used in Email
Dim content = "<h1>Demo FluentEmail with Mailgun and IronPDF</h1>"
content &= "<h2>Create MailgunSender</h2>"
content &= "<p>1. Get API key from app.mailgun.com</p>"
Dim domain = "your-domain.com" ' Use your Mailgun domain
Dim sender = New MailgunSender(domain, "your-mailgun-api-key") ' Use your Mailgun API key
Email.DefaultSender = sender
content &= "<h2>Prepare Email</h2>"
content &= $"<p>Sender: example@{domain}</p>"
content &= $"<p>Receiver: recipient@example.com</p>"
content &= $"<p>Subject: Checkout the New Awesome IronPDF Library from Iron Software</p>"
content &= $"<p>Body: IronPDF is the leading C# PDF library for generating & editing PDFs. It has friendly API and allows developers to rapidly deliver high quality PDFs from HTML in .NET projects.</p>"
' Render HTML content to PDF
Dim pdf = renderer.RenderHtmlAsPdf(content)
' Export the PDF to a file
pdf.SaveAs("AwesomeFluentEmailAndIron.pdf")
' Compose and send the email
Dim email = Email.From($"example@{domain}").To("recipient@example.com").Subject("Checkout the New Awesome IronPDF Library from Iron Software").Body("IronPDF is the leading C# PDF library for generating & editing PDFs. It has a friendly API and allows developers to rapidly deliver high quality PDFs from HTML in .NET projects.").Attach(New FluentEmail.Core.Models.Attachment With {
.Data = File.OpenRead("AwesomeFluentEmailAndIron.pdf"),
.Filename = "AwesomeFluentEmailAndIron.pdf",
.ContentType = "application/pdf"
}).Send()
Console.WriteLine($"Is Send Success: {email.Successful}")
End Sub
End Module
End NamespaceCode-Erklärung
-
Integration von FluentEmail und Mailgun:
- FluentEmail.Core: Bietet eine flüssige Schnittstelle zum Verfassen und Versenden von E-Mails.
- FluentEmail.Mailgun: Ermöglicht die Integration mit Mailgun für die E-Mail-Zustellung.
-
ChromePdfRenderer:
- Dies wird als Instanz von ChromePdfRenderer aus der IronPDF-Bibliothek verstanden, die verwendet wird, um HTML-Inhalte in ein PDF-Dokument zu rendern.
-
Inhaltsvorbereitung:
- HTML-Inhalt (
content) wird erstellt, einschließlich Details über IronPDF. Dieser Inhalt wird sowohl zur Generierung des PDFs (renderer.RenderHtmlAsPdf(content)) als auch für den E-Mail-Text verwendet.
- HTML-Inhalt (
-
MailgunSender-Einrichtung:
MailgunSenderwird mit den Mailgun-API-Zugangsdaten (Domain und API-Schlüssel) initialisiert. DerEmail.DefaultSenderist auf diesen Absender gesetzt, wodurch alle folgenden E-Mails zur Lieferung Mailgun verwenden.
-
PDF-Erstellung und -Anhang:
- Der HTML-Inhalt (
content) wird mit der MethodeRenderHtmlAsPdfvon IronPDF in ein PDF (pdf) gerendert.
- Der HTML-Inhalt (
- Das erzeugte PDF wird als "AwesomeFluentEmailAndIron.pdf" gespeichert.
-
E-Mail-Erstellung und -Versand:
- Eine E-Mail wird unter Verwendung der flüssigen API von FluentEmail verfasst:
- Die Adresse "Von" wird mit der Domäne des Absenders gesetzt.
- Die Adresse "An" wird auf die E-Mail des Empfängers gesetzt.
- Der Betreff und der Inhalt der E-Mail sind definiert.
- Die PDF-Datei "AwesomeFluentEmailAndIron.pdf" wird an die E-Mail angehängt.
- Die E-Mail wird mit
.Send()gesendet, und der Erfolgstatus (email.Successful) wird an die Konsole ausgegeben.
- Die E-Mail wird mit
-
Konsolenausgabe:
- Nach dem Versuch, die E-Mail zu senden, gibt der Code aus, ob die E-Mail erfolgreich gesendet wurde (
Is Send Success: true/false).
- Nach dem Versuch, die E-Mail zu senden, gibt der Code aus, ob die E-Mail erfolgreich gesendet wurde (
Ausgangs-E-Mail-Nachricht

Angehängte PDF-Datei

IronPDF Lizenzierung
Das IronPDF-Paket erfordert eine Lizenz zum Ausführen und Erstellen des PDFs. Fügen Sie den folgenden Code am Anfang der Anwendung hinzu, bevor das Paket aufgerufen wird.
IronPdf.License.LicenseKey = "IRONPDF-LICENSE-KEY";Imports IronPdf
IronPdf.License.LicenseKey = "IRONPDF-LICENSE-KEY"Eine Testlizenz ist unter IronPDF-Lizenzierung und Testversion verfügbar.
Abschluss
FluentEmail in Kombination mit Mailgun-API-Schlüsseln ermöglicht es .NET-Entwicklern, E-Mail-Funktionen in ihren Anwendungen zu optimieren. Egal, ob es sich um den Versand von Transaktions-E-Mails, Newslettern oder Benachrichtigungen handelt, diese Integration gewährleistet Zuverlässigkeit, Skalierbarkeit und Benutzerfreundlichkeit. Durch die Verschleierung der Komplexität der E-Mail-Zustellung ermöglicht FluentEmail Entwicklern, sich auf den Aufbau robuster Anwendungen zu konzentrieren und gleichzeitig die leistungsstarke E-Mail-Infrastruktur von Mailgun zu nutzen. Nutzen Sie die Leistungsfähigkeit von FluentEmail und Mailgun, um Ihre E-Mail-Kommunikationsmöglichkeiten in .NET-Anwendungen zu verbessern.
IronPDF hingegen ist eine robuste C#-Bibliothek zum Erstellen, Bearbeiten und Konvertieren von PDF-Dokumenten in .NET-Anwendungen. Es zeichnet sich durch die HTML-zu-PDF-Konvertierung aus, bietet umfassende PDF-Manipulationsfunktionen und integriert sich nahtlos in .NET-Frameworks, um sichere und vielseitige PDF-Bearbeitungslösungen zu bieten.

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


