AIDE .NET

FluentEmail C# (Comment ça marche pour les développeurs)

Publié août 13, 2024
Partager:

À l'ère du numérique, le courrier électronique reste une pierre angulaire de la communication pour les entreprises et les particuliers. L'intégration de fonctionnalités de messagerie robustes dans les applications ASP.NET Core est essentielle pour automatiser les notifications, envoyer des newsletters et faciliter les interactions avec les clients. FluentEmail, une puissante bibliothèque pour .NET, combinée àArme à feu Offre aux développeurs une solution transparente pour améliorer les capacités de messagerie avec fiabilité et évolutivité. Plus loin dans cet article, nous aborderons également la question desBibliothèque IronPDF sur ironsoftware.com pour générer et gérer des documents PDF.

Introduction

FluentEmail simplifie le processus d'envoi de plusieurs courriels de manière programmatique au sein des applications .NET. Il offre une interface intuitive et fluide pour configurer les messages électroniques, gérer les pièces jointes et les listes de destinataires. Cette bibliothèque fait abstraction des complexités de la configuration SMTP et prend en charge plusieurs fournisseurs de rendu de modèles et fournisseurs de services de messagerie électronique de test, y compris Mailgun.

FluentEmail.NET est une bibliothèque populaire dans l'écosystème .NET Core pour l'envoi d'emails, et elle supporte les modèles d'emails Razor ainsi que les modèles Liquid pour créer des corps d'emails dynamiquement. L'utilisation du moteur de rendu de modèles Razor avec FluentEmail.NET vous permet d'exploiter la puissance de la syntaxe Razor pour créer un contenu d'email dynamique et bien formaté et résoudre les fichiers de mise en page.

Voici un guide de base sur l'utilisation de FluentEmail.NET avec les modèles ASP.NET Core Razor.

Etape 1 : Installer FluentEmail

Tout d'abord, vous devez installer le paquet FluentEmail et le paquet Razor templates renderer en utilisant la commande Install-Package ou la commande .NET add package :

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#

Étape 2 : Créer un modèle de rasoir

Créez un modèle Razor pour le corps de votre e-mail. Il peut s'agir d'un fichier \N.cshtml\Ncontenant du HTML et une syntaxe de code Razor valide. Par exemple, créez un fichier nommé `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#

Veillez à remplacer \NVotreNamespace.EmailViewModel\Npar l'espace de noms et le nom de la classe de votre modèle de vue ou simplement le modèle de domaine que vous passerez à ce modèle.

Etape 3 : Configurer FluentEmail avec Razor Renderer

Configurer FluentEmail pour utiliser le moteur de rendu Razor et fournir les dépendances nécessaires :

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#

Étape 4 : Rendre et envoyer le courrier électronique

Dans le code de votre application, rendez le modèle Razor avec le modèle souhaité et envoyez le courrier électronique :

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#

Assurez-vous que le modèle \NEmailViewModel\Ncorrespond au modèle défini dans votre modèle Razor(`EmailTemplate.cshtml``). Ce modèle doit contenir les propriétés auxquelles vous faites référence dans votre modèle Razor(\N-@Modèle.Nom\N-, par exemple).

Intégration des clés API de Mailgun

Mailgun est un fournisseur de services de messagerie électronique réputé pour sa fiabilité, sa capacité à délivrer des messages et la richesse de ses fonctionnalités. En intégrant les clés API de Mailgun à FluentEmail, les développeurs peuvent utiliser l'infrastructure de Mailgun pour envoyer des emails de manière efficace et sécurisée.

Etapes pour intégrer les clés API de Mailgun avec FluentEmail

  1. Obtenir les clés API de Mailgun :

    • Ouvrez un compte Mailgun si vous ne l'avez pas encore fait.

    • Naviguez jusqu'à la pageTableau de bord Mailgun et créez une nouvelle clé API. Fournir une description.

    FluentEmail C#(Comment ça marche pour les développeurs) : Figure 1 - Mailgun

  2. Installer le package FluentEmail :

    Utilisez NuGet Package Manager ou Package Manager Console dans Visual Studio pour installer FluentMail :

Install-Package FluentEmail.Mailgun
Install-Package FluentEmail.Mailgun
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

ou à partir de Visual Studio

FluentEmail C#(Comment ça marche pour les développeurs) : Figure 2 - FluentEmail.Mailgun

  1. Configurer FluentEmail avec les clés API de Mailgun :

    Configurez FluentEmail pour utiliser Mailgun comme fournisseur d'email ou expéditeur SMTP en configurant vos clés API :

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. Composer et envoyer des e-mails :

    Utilisez l'interface fluide de FluentEmail pour composer et envoyer des emails :

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. Configuration avancée :

    • Personnalisez les paramètres de l'email tels que les pièces jointes, le formatage HTML, les destinataires CC/BCC et les en-têtes de l'email en utilisant l'API fluente de FluentEmail.

Avantages de l'utilisation de FluentEmail avec Mailgun

  • Simplicité : FluentEmail fait abstraction des complexités de la configuration SMTP, rendant facile l'envoi d'emails avec un minimum d'installation.
  • Fiabilité : L'utilisation de l'infrastructure de Mailgun garantit des taux de délivrabilité élevés et de solides capacités de traitement des courriels.
  • Évolutivité : Faites évoluer vos besoins en matière d'envoi d'e-mails sans effort grâce à l'infrastructure évolutive de Mailgun, qui convient aussi bien aux applications à petite échelle qu'aux solutions d'entreprise.
  • Fonctionnalités riches : Profitez des fonctionnalités de Mailgun telles que le suivi, l'analyse et la validation avancée des e-mails pour optimiser vos campagnes d'e-mailing.

Introduction à IronPDF

FluentEmail C#(Comment ça marche pour les développeurs) : Figure 3 - IronPDF

IronPDF est une bibliothèque PDF pour Node.js qui permet de générer, de gérer et d'extraire du contenu à partir de documents PDF dans des projets .NET. En voici les principales caractéristiques :

  1. Conversion HTML en PDF :

    • Convertissez du contenu HTML, CSS et JavaScript en documents PDF.

    • Moteur de rendu Chrome pour des PDF au pixel près.

    • Générer des PDF à partir d'URL, de fichiers HTML ou de chaînes HTML en entrée.
  2. Conversion d'images et de contenus :

    • Convertissez des images depuis et vers des PDF.

    • Extraction de texte et d'images à partir de documents PDF existants.

    • Prise en charge de divers formats d'image tels que JPG, PNG, etc.
  3. Édition et manipulation :

    • Définir les propriétés, la sécurité et les autorisations pour les PDF.

    • Ajouter des signatures numériques.

    • Modifier les métadonnées et l'historique des révisions.

Générer un document PDF en utilisant IronPDF et FluentEmail .NET avec Mailgun sender

Pour commencer, créez une application Console à l'aide de Visual Studio, comme indiqué ci-dessous.

FluentEmail C#(Comment ça marche pour les développeurs) : Figure 4 - Application console

Fournir le nom du projet.

FluentEmail C#(Comment ça marche pour les développeurs) : Figure 5 - Configuration du projet

Fournir la version .NET.

FluentEmail C#(Comment ça marche pour les développeurs) : Figure 6 - Cadre cible

Installez le paquet IronPDF.

FluentEmail C#(Comment ça marche pour les développeurs) : Figure 7 - IronPDF

Installer FluentEmail Mailgun.

FluentEmail C#(Comment ça marche pour les développeurs) : Figure 8 - FluentEmail.Mailgun

Pour recevoir des messages électroniques dans le cadre de l'essai gratuit, l'adresse électronique du destinataire doit être enregistrée dans le tableau de bord de la page d'accueilTableau de bord d'enregistrement de Mailgun comme indiqué ci-dessous.

FluentEmail C#(Comment ça marche pour les développeurs) : Figure 9 - Tableau de bord Mailgun

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#

Explication du code

  1. Intégration de FluentEmail et Mailgun :

    • FluentEmail.Core : Fournit une interface fluide pour la composition et l'envoi de courriels.

    • FluentEmail.Mailgun : Permet l'intégration avec Mailgun pour l'envoi de courriels.
  2. ChromePdfRenderer :

    • On suppose qu'il s'agit d'une instance de ChromePdfRenderer de la bibliothèque IronPDF, utilisée pour rendre un contenu HTML dans un document PDF.
  3. Préparation du contenu :

    • Contenu HTML(contenu) est préparé, y compris des détails sur IronPDF. Ce contenu est utilisé à la fois pour générer le PDF(renderer.RenderHtmlAsPdf(contenu)) et pour le corps du message.
  4. MailgunSender Setup :

    • MailgunSender est initialisé avec les informations d'identification de l'API Mailgun(domaine et clé API). L'expéditeur par défaut (Email.DefaultSender) est défini sur cet expéditeur, ce qui garantit que tous les courriels ultérieurs seront livrés par Mailgun.
  5. Génération de PDF et pièces jointes :

    • Le contenu HTML(contenu) est transformé en PDF(pdf) en utilisant la méthode RenderHtmlAsPdf d'IronPDF.

    • Le PDF généré est enregistré sous le nom "AwesomeFluentEmailAndIron.pdf".
  6. Composition et envoi de courriers électroniques :

    • Un email est composé en utilisant l'API fluente de FluentEmail :

      • L'adresse de provenance est définie en utilisant le domaine de l'expéditeur.

      • L'adresse de destination est réglée sur.

      • L'objet et le corps du message sont définis.

      • Le fichier PDF "AwesomeFluentEmailAndIron.pdf" est joint à l'e-mail.
    • Le courrier électronique est envoyé à l'aide de la fonction .Send()et l'état de réussite(email.Successful) est imprimée sur la console.
  7. Sortie console :

    • Après avoir tenté d'envoyer le courriel, le code indique si le courriel a été envoyé avec succès(L'envoi est-il réussi : vrai/faux).

Message électronique de sortie

FluentEmail C#(Comment ça marche pour les développeurs) : Figure 10 - Sortie de l'email

PDF ci-joint

FluentEmail C#(Comment ça marche pour les développeurs) : Figure 11 - Sortie PDF

Licences d'IronPDF

Le paquet IronPDF nécessite une licence pour fonctionner et générer le PDF. Ajoutez le code ci-dessous au début de l'application avant l'accès au paquet.

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

La licence d'essai est disponible à l'adresse suivanteLicence et essai d'IronPDF.

Conclusion

FluentEmail, combiné avec les clés API de Mailgun, permet aux développeurs .NET de rationaliser les fonctionnalités d'email au sein de leurs applications. Qu'il s'agisse d'envoyer des courriels transactionnels, des lettres d'information ou des notifications, cette intégration garantit la fiabilité, l'évolutivité et la facilité d'utilisation. En faisant abstraction des complexités de la livraison des emails, FluentEmail permet aux développeurs de se concentrer sur la création d'applications robustes tout en tirant parti de la puissante infrastructure d'email de Mailgun. Profitez de la puissance de FluentEmail et Mailgun pour améliorer vos capacités de communication par email dans les applications .NET dès aujourd'hui.

IronPDF, quant à lui, est une bibliothèque C# robuste permettant de créer, d'éditer et de convertir des documents PDF au sein d'applications .NET. Il excelle dans la conversion de HTML en PDF, offre des capacités complètes de manipulation de PDF et s'intègre de manière transparente aux Framework .NET, offrant ainsi des solutions de traitement de PDF sûres et polyvalentes.

< PRÉCÉDENT
Entity Framework Core (Comment ça marche pour les développeurs)
SUIVANT >
LazyCache C# (Comment ça marche pour les développeurs)