IRONSOFTWAREHOME
AKTUALNOŚCI DLA PROGRAMISTÓW

FluentEmail C# (Jak to działa dla programistów)

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Jacob Mellor
Updated: 21 kwietnia 2026

W dzisiejszej erze cyfrowej poczta elektroniczna pozostaje podstawą komunikacji zarówno dla firm, jak i osób prywatnych. Włączenie solidnej funkcjonalności poczty elektronicznej do aplikacji .NET Core jest niezbędne do automatyzacji powiadomień, wysyłania biuletynów i ułatwiania interakcji z klientami. FluentEmail, potężna biblioteka dla platformy .NET, w połączeniu z kluczami API Mailgun, oferuje programistom płynne rozwiązanie pozwalające rozszerzyć możliwości poczty elektronicznej o niezawodność i skalowalność. W dalszej części tego artykułu przyjrzymy się również bibliotece IronPDF dostępnej na stronie ironsoftware.com, służącej do generowania dokumentów PDF i zarządzania nimi.

FluentEmail upraszcza proces programowego wysyłania wielu wiadomości e-mail w aplikacjach .NET. Zapewnia intuicyjny i płynny interfejs do konfigurowania wiadomości e-mail, zarządzania załącznikami oraz obsługiwania list odbiorców. Biblioteka ta eliminuje złożoność konfiguracji SMTP i obsługuje wielu dostawców rendererów szablonów oraz dostawców usług testowych wiadomości e-mail, w tym Mailgun.

FluentEmail.NET to popularna biblioteka w ekosystemie .NET Core służąca do wysyłania wiadomości e-mail, która obsługuje szablony e-mailowe Razor oraz szablony Liquid do dynamicznego tworzenia treści wiadomości. Korzystanie z renderera szablonów Razor w połączeniu z FluentEmail.NET pozwala wykorzystać możliwości składni Razor do tworzenia dobrze sformatowanych, dynamicznych treści wiadomości e-mail oraz rozwiązywania plików układu.

Oto podstawowy przewodnik dotyczący korzystania z FluentEmail.NET w szablonach ASP.NET Core Razor.

Krok 1: Zainstaluj FluentEmail

Najpierw należy zainstalować pakiet FluentEmail oraz pakiet renderera szablonów Razor, używając polecenia Install-Package lub polecenia .NET add package:

# 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
SHELL

Krok 2: Utwórz szablon Razor

Utwórz szablon Razor dla treści wiadomości e-mail. To moze byc plik .cshtml zawierajacy HTML i poprawna skladnie kodu Razor. Na przyklad, utworz plik o nazwie 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>
HTML

Upewnij sie, ze zamienisz YourNamespace.EmailViewModel na faktyczna przestrzen nazw i nazwe klasy twojego modelu widoku lub po prostu modelu domeny, ktory przekazesz do tego szablonu.

Krok 3: Skonfiguruj FluentEmail z rendererem Razor

Skonfiguruj FluentEmail tak, aby korzystał z renderera Razor i zapewnij niezbędne zależności:

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"));
}

Krok 4: Wygeneruj i wyślij wiadomość e-mail

W kodzie aplikacji wyrenderuj szablon Razor z żądanym modelem i wyślij wiadomość 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();
}

Upewnij sie, ze EmailViewModel pasuje do modelu zdefiniowanego w twoim szablonie Razor (EmailTemplate.cshtml). Ten model powinien zawierac wlasciwosci, na ktore powolujesz sie w swoim szablonie Razor (@Model.Name, na przyklad).

Integracja kluczy API Mailgun

Mailgun to popularny dostawca usług poczty elektronicznej znany ze swojej niezawodności, skuteczności dostarczania wiadomości oraz bogatego zestawu funkcji. Dzięki integracji kluczy API Mailgun z FluentEmail programiści mogą wykorzystać infrastrukturę Mailgun do wydajnego i bezpiecznego wysyłania wiadomości e-mail.

Kroki integracji kluczy API Mailgun z FluentEmail

  1. Uzyskaj klucze API Mailgun:

    • Jeśli jeszcze tego nie zrobiłeś, załóż konto w Mailgun.
    • Przejdź do pulpitu nawigacyjnego Mailgun i utwórz nowy klucz API. Podaj opis.

FluentEmail C# (Jak to dziala dla programistow): Figura 1 - Mailgun

  1. Zainstaluj pakiet FluentEmail:

    Aby zainstalować FluentMail, użyj menedżera pakietów NuGet lub konsoli menedżera pakietów w Visual Studio:

# Install the FluentEmail.Mailgun package
Install-Package FluentEmail.Mailgun
SHELL

lub z programu Visual Studio:

FluentEmail C# (Jak to dziala dla programistow): Figura 2 - FluentEmail.Mailgun

  1. Skonfiguruj FluentEmail za pomocą kluczy API Mailgun:

Skonfiguruj FluentEmail tak, aby korzystał z Mailgun jako dostawcy usług poczty elektronicznej lub nadawcy SMTP, konfigurując swoje klucze API:

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;
  1. Tworzenie i wysyłanie wiadomości e-mail:

    Skorzystaj z płynnego interfejsu FluentEmail do tworzenia i wysyłania wiadomości e-mail:

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();
  1. Konfiguracja zaawansowana:

    • Dostosuj ustawienia wiadomości e-mail, takie jak załączniki, formatowanie HTML, odbiorcy w polach DW/UDW oraz nagłówki wiadomości, korzystając z płynnego interfejsu API FluentEmail.

Korzyści z używania FluentEmail z Mailgun

  • Prostota: FluentEmail eliminuje złożoność konfiguracji SMTP, ułatwiając wysyłanie wiadomości e-mail przy minimalnej konfiguracji.
  • Niezawodność: Wykorzystanie infrastruktury Mailgun zapewnia wysokie wskaźniki dostarczalności i solidne możliwości obsługi poczty elektronicznej.
  • Skalowalność: Bez wysiłku dostosuj swoje potrzeby w zakresie wysyłania wiadomości e-mail dzięki skalowalnej infrastrukturze Mailgun, odpowiedniej zarówno dla aplikacji na małą skalę, jak i rozwiązań na poziomie Enterprise.
  • Bogate funkcje: Wykorzystaj funkcje Mailgun, takie jak śledzenie, analityka i zaawansowana weryfikacja adresów e-mail, aby zoptymalizować swoje kampanie e-mailowe.

Wprowadzenie do IronPDF

FluentEmail C# (Jak to dziala dla programistow): Figura 3 - IronPDF

IronPDF for Node.js to biblioteka PDF, która umożliwia generowanie, zarządzanie i wyodrębnianie treści z dokumentów PDF w projektach .NET. Oto kilka kluczowych funkcji:

  1. Konwersja HTML do PDF:

    • Konwertuj treści HTML, CSS i JavaScript na dokumenty PDF.
    • Silnik renderujący Chrome zapewniający pliki PDF o idealnej rozdzielczości.
    • Generuj pliki PDF na podstawie adresów URL, plików HTML lub ciągów znaków HTML jako danych wejściowych.
  2. Konwersja obrazów i treści:

    • Konwertuj obrazy do i z plików PDF.
    • Wyodrębnianie tekstu i obrazów z istniejących dokumentów PDF.
    • Obsługa różnych formatów obrazów, takich jak JPG, PNG itp.
  3. Edycja i obróbka:

    • Ustawianie właściwości, zabezpieczeń i uprawnień dla plików PDF.
    • Dodaj podpisy cyfrowe.
    • Edytuj metadane i historię zmian.

IronPDF wyróżnia się w konwersji HTML do PDF, zapewniając precyzyjne zachowanie oryginalnych układów i stylów. Idealnie nadaje się do tworzenia plików PDF z treści internetowych, takich jak raporty, faktury i dokumentacja. Dzięki obsłudze plików HTML, adresów URL i surowych ciągów znaków HTML, IronPDF z łatwością tworzy wysokiej jakości dokumenty PDF.

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");
    }
}

Generowanie dokumentu PDF przy użyciu IronPDF i FluentEmail .NET z wysyłką Mailgun

Na początek utwórz aplikację konsolową za pomocą programu Visual Studio, jak pokazano poniżej.

FluentEmail C# (Jak to dziala dla programistow): Figura 4 - Aplikacja Konsolowa

Podaj nazwę projektu.

FluentEmail C# (Jak to dziala dla programistow): Figura 5 - Konfiguracja Projektu

Podaj wersję .NET.

FluentEmail C# (Jak to dziala dla programistow): Figura 6 - Docelowe Srodowisko

Zainstaluj pakiet IronPDF.

FluentEmail C# (Jak to dziala dla programistow): Figura 7 - IronPDF

Zainstaluj FluentEmail Mailgun.

FluentEmail C# (Jak to dziala dla programistow): Figura 8 - FluentEmail.Mailgun

Aby otrzymywać wiadomości e-mail w ramach bezpłatnej wersji próbnej, adres e-mail odbiorcy powinien być zarejestrowany w panelu Mailgun Registration Dashboard, jak pokazano poniżej.

FluentEmail C# (Jak to dziala dla programistow): Figura 9 - Dashboard Mailgun

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}");
        }
    }
}

Wyjaśnienie kodu

  1. Integracja FluentEmail i Mailgun:

    • FluentEmail.Core: Zapewnia płynny interfejs do tworzenia i wysyłania wiadomości e-mail.
    • FluentEmail.Mailgun: Umożliwia integrację z Mailgun w celu dostarczania wiadomości e-mail.
  2. ChromePdfRenderer:

    • Zakłada się, że jest to instancja ChromePdfRenderer z biblioteki IronPDF, używana do renderowania treści HTML do dokumentu PDF.
  3. Przygotowanie treści:

    • Tresc HTML (content) jest przygotowana, wlaczajac szczegoly dotyczace IronPDF. Ta tresc jest uzywana zarowno do generowania PDF (renderer.RenderHtmlAsPdf(content)), jak i tresci emaila.
  4. Konfiguracja MailgunSender:

    • MailgunSender jest inicjalizowany z danymi uwierzytelniajacymi API Mailgun (domena i klucz API). Email.DefaultSender jest ustawiony na tego nadawce, zapewniajac, ze wszystkie kolejne emaile beda wysylane za pomoca Mailgun.
  5. Generowanie plików PDF i dołączanie ich:

    • Tresc HTML (content) jest renderowana do PDF (pdf) przy uzyciu metody RenderHtmlAsPdf IronPDF.
    • Wygenerowany plik PDF jest zapisywany jako "AwesomeFluentEmailAndIron.pdf".
  6. Tworzenie i wysyłanie wiadomości e-mail:

    • Wiadomość e-mail jest tworzona przy użyciu płynnego interfejsu API FluentEmail:
      • Adres "Od" jest ustawiany przy użyciu domeny nadawcy.
      • Adres "Do" jest ustawiony na adres e-mail odbiorcy.
      • Temat i treść wiadomości e-mail są zdefiniowane.
      • Do wiadomości e-mail załączono plik PDF "AwesomeFluentEmailAndIron.pdf".
    • Email jest wysylany za pomoca .Send(), a status sukcesu (email.Successful) jest wyswietlany na konsoli.
  7. Wynik konsoli:

    • Po probie wyslania emaila, kod wyswietla, czy email zostal wyslany pomyslnie (Is Send Success: true/false).

Wynikowa wiadomość e-mail

FluentEmail C# (Jak to dziala dla programistow): Figura 10 - Wyjscie Email

Załączony plik PDF

FluentEmail C# (Jak to dziala dla programistow): Figura 11 - Wyjscie PDF

Licencjonowanie IronPDF

Pakiet IronPDF wymaga licencji do uruchomienia i generowania plików PDF. Dodaj poniższy kod na początku aplikacji, zanim nastąpi dostęp do pakietu.

IronPdf.License.LicenseKey = "IRONPDF-LICENSE-KEY";

Licencja Trial jest dostępna na stronie Licencjonowanie i wersja próbna IronPDF.

Wnioski

FluentEmail w połączeniu z kluczami API Mailgun umożliwia programistom .NET usprawnienie funkcji poczty elektronicznej w ich aplikacjach. Niezależnie od tego, czy wysyłasz e-maile transakcyjne, biuletyny czy powiadomienia, ta integracja zapewnia niezawodność, skalowalność i łatwość użytkowania. Dzięki wyeliminowaniu złożoności związanej z dostarczaniem wiadomości e-mail FluentEmail pozwala programistom skupić się na tworzeniu solidnych aplikacji, wykorzystując jednocześnie potężną infrastrukturę pocztową Mailgun. Wykorzystaj możliwości FluentEmail i Mailgun, aby już dziś zwiększyć możliwości komunikacji e-mailowej w aplikacjach .NET.
Z kolei IronPDF to solidna biblioteka C# do tworzenia, edycji i konwersji dokumentów PDF w aplikacjach .NET. Wyróżnia się w konwersji HTML do PDF, oferuje kompleksowe możliwości manipulacji plikami PDF i płynnie integruje się z .NET Framework, zapewniając bezpieczne i wszechstronne rozwiązania do obsługi plików PDF.

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Dyrektor ds. technologii

Jacob Mellor jest Chief Technology Officer w Iron Software i wizjonerskim inżynierem, pionierem technologii C# PDF. Jako pierwotny deweloper głównej bazy kodowej Iron Software, kształtuje architekturę produktów firmy od jej początku, przekształcając ją wspólnie z CEO Cameron Rimington w firmę liczącą ponad 50 osób, obsługującą NASA, Teslę i światowe agencje rządowe.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta