.NET-HILFE

FluentEmail C# (Wie es für Entwickler funktioniert)

Veröffentlicht 13. August 2024
Teilen Sie:

Im heutigen digitalen Zeitalter bleibt die E-Mail ein Eckpfeiler der Kommunikation für Unternehmen und Privatpersonen. Die Integration robuster E-Mail-Funktionen in ASP.NET Core-Anwendungen ist für die Automatisierung von Benachrichtigungen, den Versand von Newslettern und die Vereinfachung von Kundeninteraktionen unerlässlich. FluentEmail, eine leistungsstarke Bibliothek für .NET, kombiniert mit Mailgun API-Schlüssel, bietet Entwicklern eine nahtlose Lösung zur Verbesserung der E-Mail-Funktionen mit Zuverlässigkeit und Skalierbarkeit. Später in diesem Artikel werden wir uns auch mit der IronPDF bibliothek von IronSoftware zur Erstellung und Verwaltung von PDF-Dokumenten.

Einführung

FluentEmail vereinfacht den programmgesteuerten Versand mehrerer E-Mails innerhalb von .NET-Anwendungen. Es bietet eine intuitive und flüssige Oberfläche für die Konfiguration von E-Mail-Nachrichten, die Verwaltung von Anhängen und den Umgang mit Empfängerlisten. Diese Bibliothek abstrahiert die Komplexität der SMTP-Konfiguration und unterstützt mehrere Template-Renderer-Anbieter und Anbieter von Test-E-Mail-Diensten, einschließlich Mailgun.

FluentEmail.NET ist eine beliebte Bibliothek im .NET Core-Ökosystem zum Versenden von E-Mails und unterstützt sowohl Razor-E-Mail-Vorlagen als auch Liquid-Vorlagen zur dynamischen Erstellung von E-Mail-Bodies. 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 Layout-Dateien aufzulösen.

Hier finden Sie eine grundlegende Anleitung für die Verwendung von FluentEmail.NET mit ASP.NET Core Razor-Vorlagen.

Schritt 1: FluentEmail installieren

Zunächst müssen Sie das FluentEmail-Paket und das Razor-Templates-Renderer-Paket installieren, indem Sie entweder den Befehl Install-Package oder den Befehl .NET add package verwenden:

Install-Package FluentEmail.Core
or
dotnet add package FluentEmail.Core
Install-Package FluentEmail.Razor
or
dotnet add package FluentEmail.Razor
Install-Package FluentEmail.Core
or
dotnet add package FluentEmail.Core
Install-Package FluentEmail.Razor
or
dotnet add package FluentEmail.Razor
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Schritt 2: Erstellen einer Razor-Vorlage

Erstellen Sie eine Razor-Vorlage für Ihren E-Mail-Text. Dies kann eine "cshtml"-Datei sein, die HTML und gültige Razor-Code-Syntax enthält. Erstellen Sie beispielsweise 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>
// string template code with very basic defaults
@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>
// string template code with very basic defaults
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Ersetzen Sie `IhrNamensraum.EmailViewModel` durch den tatsächlichen Namensraum und den Klassennamen Ihres Ansichtsmodells oder einfach durch das Domänenmodell, das Sie an diese Vorlage übergeben werden.

Schritt 3: FluentEmail mit Razor Renderer einrichten

Konfigurieren Sie FluentEmail für die Verwendung des Razor-Renderers und stellen Sie die erforderlichen Abhängigkeiten bereit:

using FluentEmail.Core;
using FluentEmail.Razor;
public void ConfigureFluentEmail()
{
    FluentEmail.Core.Email.DefaultRenderer = new RazorRenderer();
    // Set up email smtp sender address
    Email.DefaultSender = new SmtpSender(new SmtpClient("smtp.yourserver.com"));
}
using FluentEmail.Core;
using FluentEmail.Razor;
public void ConfigureFluentEmail()
{
    FluentEmail.Core.Email.DefaultRenderer = new RazorRenderer();
    // Set up email smtp sender address
    Email.DefaultSender = new SmtpSender(new SmtpClient("smtp.yourserver.com"));
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Schritt 4: Rendern und Senden einer E-Mail

In Ihrem Anwendungscode rendern Sie die Razor-Vorlage mit dem gewünschten Modell und senden die E-Mail:

using FluentEmail.Core;
using FluentEmail.Razor;
public void SendEmail()
{
// layout var template
    var template = "EmailTemplate.cshtml"
    var email = Email
        .From("sender@example.com") // default sendfrom address
        .To("recipient@example.com")
        .Subject("Sample Email");
    var model = new EmailViewModel { Name = "John Doe" };
    email.UsingTemplateFromFile(template, model);
    email.Send();
}
using FluentEmail.Core;
using FluentEmail.Razor;
public void SendEmail()
{
// layout var template
    var template = "EmailTemplate.cshtml"
    var email = Email
        .From("sender@example.com") // default sendfrom address
        .To("recipient@example.com")
        .Subject("Sample Email");
    var model = new EmailViewModel { Name = "John Doe" };
    email.UsingTemplateFromFile(template, model);
    email.Send();
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Stellen Sie sicher, dass `EmailViewModel` mit dem in Ihrer Razor-Vorlage definierten Modell übereinstimmt (`EmailTemplate.cshtml`). Dieses Modell sollte Eigenschaften enthalten, auf die Sie in Ihrer Razor-Vorlage verweisen (`@Modell.Name`, zum Beispiel).

Mailgun API-Schlüssel einbinden

Mailgun ist ein beliebter E-Mail-Dienstleister, der für seine Zuverlässigkeit, Zustellbarkeit und umfangreichen Funktionen bekannt ist. Durch die Integration der Mailgun-API-Schlüssel in FluentEmail können Entwickler die Infrastruktur von Mailgun nutzen, um E-Mails effizient und sicher zu versenden.

Schritte zur Integration von Mailgun API-Schlüsseln mit FluentEmail

  1. Erhalten Sie Mailgun API-Schlüssel:

    • Melden Sie sich für ein Mailgun-Konto an, falls Sie dies noch nicht getan haben.

    • Navigieren Sie zum Mailgun dashboard und erstellen Sie einen neuen API-Schlüssel. Geben Sie eine Beschreibung.

    FluentEmail C# (Wie es für Entwickler funktioniert): Abbildung 1 - Mailgun

  2. Installieren Sie das FluentEmail-Paket:

     Verwenden Sie NuGet Package Manager oder Package Manager Console in Visual Studio, um FluentMail zu installieren:
Install-Package FluentEmail.Mailgun
Install-Package FluentEmail.Mailgun
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

oder von Visual Studio aus

FluentEmail C# (Wie es für Entwickler funktioniert): Abbildung 2 - FluentEmail.Mailgun

  1. Konfigurieren Sie FluentEmail mit Mailgun API-Schlüsseln:

    Richten Sie FluentEmail so ein, dass es Mailgun als E-Mail-Dienstanbieter oder SMTP-Absender verwendet, indem Sie Ihre API-Schlüssel konfigurieren:

using FluentEmail.Core;
using FluentEmail.Mailgun;
var sender = new MailgunSender("your-domain.com", "your-mailgun-api-key");
Email.DefaultSender = sender;
using FluentEmail.Core;
using FluentEmail.Mailgun;
var sender = new MailgunSender("your-domain.com", "your-mailgun-api-key");
Email.DefaultSender = sender;
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#
  1. E-Mails verfassen und versenden:

     Verwenden Sie die fließende Oberfläche von FluentEmail zum Verfassen und Versenden von E-Mails:
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();
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()
VB   C#
  1. Erweiterte Konfiguration:

    • Passen Sie E-Mail-Einstellungen wie Anhänge, HTML-Formatierung, CC/BCC-Empfänger und E-Mail-Kopfzeilen mithilfe der FluentEmail-API an.

Vorteile der Verwendung von FluentEmail mit Mailgun

  • Einfachheit: FluentEmail abstrahiert die Komplexität der SMTP-Konfiguration und macht das Versenden von E-Mails mit minimaler Einrichtung einfach.
  • Zuverlässigkeit: Die Nutzung der Mailgun-Infrastruktur gewährleistet hohe Zustellbarkeitsraten und robuste E-Mail-Verarbeitungsfunktionen.
  • Skalierbarkeit: Skalieren Sie Ihren E-Mail-Versandbedarf mühelos mit der skalierbaren Infrastruktur von Mailgun, die sich sowohl für kleine Anwendungen als auch für Lösungen auf Unternehmensebene eignet.
  • Umfangreiche Funktionen: Nutzen Sie die Vorteile der Mailgun-Funktionen wie Tracking, Analyse und erweiterte E-Mail-Validierung zur Optimierung Ihrer E-Mail-Kampagnen.

Einführung in IronPDF

FluentEmail C# (Wie es für Entwickler funktioniert): Abbildung 3 - IronPDF

IronPDF ist eine Node.js PDF-Bibliothek, die es ermöglicht, Inhalte aus PDF-Dokumenten in .NET-Projekten zu erzeugen, zu verwalten und zu extrahieren. Hier sind einige der wichtigsten Merkmale:

  1. HTML zu PDF Konvertierung:

    • Konvertieren Sie HTML-, CSS- und JavaScript-Inhalte in PDF-Dokumente.

    • Chrome Rendering Engine für pixelgenaue PDFs.
    • Erzeugen Sie PDFs aus URLs, HTML-Dateien oder HTML-Strings als Eingabe.
  2. Bild- und Inhaltskonvertierung:

    • Konvertieren Sie Bilder in und aus PDF-Dateien.

    • Extrahieren Sie Text und Bilder aus vorhandenen PDF-Dokumenten.
    • Unterstützung für verschiedene Bildformate wie JPG, PNG, etc.
  3. Bearbeitung und Manipulation:

    • Legen Sie Eigenschaften, Sicherheit und Berechtigungen für PDFs fest.

    • Digitale Signaturen hinzufügen.
    • Bearbeiten Sie die Metadaten und den Revisionsverlauf.

Erzeugen von PDF-Dokumenten mit IronPDF und FluentEmail .NET mit Mailgun Absender

Erstellen Sie zunächst eine Konsolenanwendung mit Visual Studio (siehe unten).

FluentEmail C# (Wie es für Entwickler funktioniert): Abbildung 4 - Konsolenanwendung

Geben Sie den Projektnamen an.

FluentEmail C# (Wie es für Entwickler funktioniert): Abbildung 5 - Projektkonfiguration

Bereitstellung der .NET-Version.

FluentEmail C# (Wie es für Entwickler funktioniert): Abbildung 6 - Ziel-Framework

Installieren Sie das IronPDF-Paket.

FluentEmail C# (Wie es für Entwickler funktioniert): Abbildung 7 - IronPDF

Installieren Sie FluentEmail Mailgun.

FluentEmail C# (Wie es für Entwickler funktioniert): Abbildung 8 - FluentEmail.Mailgun

Um in der kostenlosen Testphase E-Mail-Nachrichten zu erhalten, muss die Empfänger-E-Mail hier im Dashboard registriert werden (siehe unten).

FluentEmail C# (Wie es für Entwickler funktioniert): Abbildung 9 - Mailgun Dashboard

using FluentEmail.Core;
using FluentEmail.Mailgun;
namespace CodeSample
{
    public static class FluentMailDemo
    {
        public static void Execute()
        {
            // Instantiate Renderer
            var renderer = new ChromePdfRenderer();
            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 = "sandboxe26ac376696246a4ad6ceedcfc2b5639.mailgun.org";
            var sender = new MailgunSender(domain, "8b50c68f19de7ddbb129464e129e9d61-6fafb9bf-e36ab713");
            Email.DefaultSender = sender;
            content += "<h2>Prepare Email</h2>";
            content += $"<p>Sender: Santosh@{domain}</p>";
            content += $"<p>Receiver: karanamsantosh99@gmail.com</p>";
            content += $"<p>Subject: Checkout the New Awesome IronPDF Library from IronSoftware</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 professional, high quality PDFs from HTML in .NET projects.</p>";
            var pdf = renderer.RenderHtmlAsPdf(content);
            // Export to a file or Stream
            pdf.SaveAs("AwesomeFluentEmailAndIron.pdf");
            var email = Email.From("santosh@"+domain)
                .To("karanamsantosh99@gmail.com")
                .Subject("Checkout the New Awesome IronPDF Library from IronSoftware")
                .Body("IronPDF is the leading C# PDF library for generating & editing PDFs. It has friendly API and allows developers to rapidly deliver professional, 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}");
        }
    }
}
using FluentEmail.Core;
using FluentEmail.Mailgun;
namespace CodeSample
{
    public static class FluentMailDemo
    {
        public static void Execute()
        {
            // Instantiate Renderer
            var renderer = new ChromePdfRenderer();
            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 = "sandboxe26ac376696246a4ad6ceedcfc2b5639.mailgun.org";
            var sender = new MailgunSender(domain, "8b50c68f19de7ddbb129464e129e9d61-6fafb9bf-e36ab713");
            Email.DefaultSender = sender;
            content += "<h2>Prepare Email</h2>";
            content += $"<p>Sender: Santosh@{domain}</p>";
            content += $"<p>Receiver: karanamsantosh99@gmail.com</p>";
            content += $"<p>Subject: Checkout the New Awesome IronPDF Library from IronSoftware</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 professional, high quality PDFs from HTML in .NET projects.</p>";
            var pdf = renderer.RenderHtmlAsPdf(content);
            // Export to a file or Stream
            pdf.SaveAs("AwesomeFluentEmailAndIron.pdf");
            var email = Email.From("santosh@"+domain)
                .To("karanamsantosh99@gmail.com")
                .Subject("Checkout the New Awesome IronPDF Library from IronSoftware")
                .Body("IronPDF is the leading C# PDF library for generating & editing PDFs. It has friendly API and allows developers to rapidly deliver professional, 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}");
        }
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Code Erläuterung

  1. FluentEmail und Mailgun Integration:

    • FluentEmail.Core: Bietet eine fließende Schnittstelle zum Verfassen und Versenden von E-Mails.
    • FluentEmail.Mailgun: Ermöglicht die Integration mit Mailgun für die E-Mail-Zustellung.
    1. ChromePdfRenderer:
    • Es wird davon ausgegangen, dass es sich um eine Instanz von ChromePdfRenderer aus der IronPDF-Bibliothek handelt, die zum Rendern von HTML-Inhalten in ein PDF-Dokument verwendet wird.
  2. Inhaltsvorbereitung:

    • HTML-Inhalt (inhalt) wird vorbereitet, einschließlich Details über IronPDF. Dieser Inhalt wird sowohl für die Erstellung des PDF (renderer.RenderHtmlAsPdf(inhalt)) und für den Text der E-Mail.
    1. MailgunSender Setup:
    • MailgunSender wird mit Mailgun-API-Zugangsdaten initialisiert (domäne und API-Schlüssel). Der Email.DefaultSender wird auf diesen Absender gesetzt, um sicherzustellen, dass alle nachfolgenden E-Mails Mailgun für die Zustellung verwenden.
  3. PDF-Erstellung und -Anhang:

    • Der HTML-Inhalt (inhalt) wird in eine PDF-Datei umgewandelt (pdf) unter Verwendung der RenderHtmlAsPdf-Methode von IronPDF.
    • Das erzeugte PDF wird als "AwesomeFluentEmailAndIron.pdf" gespeichert.
  4. Erstellung und Versand von E-Mails:

    • Eine E-Mail wird mithilfe der FluentEmail-API verfasst:

      • Die Absenderadresse wird über die Domäne des Absenders festgelegt.

      • Die Adresse ist eingestellt auf .

      • Der Betreff und der Text der E-Mail werden festgelegt.

      • Die PDF-Datei "AwesomeFluentEmailAndIron.pdf" ist der E-Mail beigefügt.
    • Die E-Mail wird mit .Send gesendet()und den Erfolgsstatus (email.Erfolgreich) wird auf der Konsole ausgegeben.
  5. Konsolenausgabe:

    • Nach dem Versuch, die E-Mail zu senden, gibt der Code aus, ob die E-Mail erfolgreich gesendet wurde (Ist Senden erfolgreich: true/false).

E-Mail-Nachricht ausgeben

FluentEmail C# (Wie es für Entwickler funktioniert): Abbildung 10 - E-Mail-Ausgabe

Angehängte PDF

FluentEmail C# (Wie es für Entwickler funktioniert): Abbildung 11 - PDF-Ausgabe

IronPDF-Lizenzierung

Das IronPDF-Paket erfordert eine Lizenz zum Ausführen und Erzeugen der PDF-Datei. Fügen Sie den folgenden Code am Anfang der Anwendung ein, bevor auf das Paket zugegriffen wird.

IronPdf.License.LicenseKey = "IRONPDF-LICENSE-KEY";
IronPdf.License.LicenseKey = "IRONPDF-LICENSE-KEY";
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Eine Testlizenz ist erhältlich unter testlizenz-Seite.

Schlussfolgerung

FluentEmail in Kombination mit Mailgun-API-Schlüsseln ermöglicht es .NET-Entwicklern, die E-Mail-Funktionalität innerhalb ihrer Anwendungen zu optimieren. Ob Sie nun Transaktions-E-Mails, Newsletter oder Benachrichtigungen versenden, diese Integration gewährleistet Zuverlässigkeit, Skalierbarkeit und Benutzerfreundlichkeit. Durch die Abstrahierung der Komplexität der E-Mail-Zustellung ermöglicht FluentEmail den Entwicklern, sich auf die Entwicklung 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 Konvertierung von HTML in PDF aus, bietet umfassende Funktionen zur PDF-Bearbeitung und lässt sich nahtlos in .NET-Frameworks integrieren, um sichere und vielseitige Lösungen für die PDF-Verarbeitung zu bieten.

< PREVIOUS
Entity Framework Core (Wie es für Entwickler funktioniert)
NÄCHSTES >
LazyCache C# (Wie es für Entwickler funktioniert)

Sind Sie bereit, loszulegen? Version: 2024.10 gerade veröffentlicht

Gratis NuGet-Download Downloads insgesamt: 11,308,499 Lizenzen anzeigen >