IRONSOFTWAREHOME
ATUALIZAÇÕES DO DESENVOLVEDOR

FluentEmail em C# (Como funciona para desenvolvedores)

Curtis Chau
Curtis Chau
Updated: 21 de abril de 2026

Na era digital atual, o e-mail continua sendo um pilar fundamental da comunicação para empresas e indivíduos. Integrar funcionalidades robustas de e-mail em aplicações ASP.NET Core é essencial para automatizar notificações, enviar newsletters e facilitar a interação com o cliente. FluentEmail , uma poderosa biblioteca para .NET, combinada com as chaves da API do Mailgun , oferece aos desenvolvedores uma solução integrada para aprimorar os recursos de e-mail com confiabilidade e escalabilidade. Mais adiante neste artigo, também analisaremos a biblioteca IronPDF em ironsoftware.com para gerar e gerenciar documentos PDF.

O FluentEmail simplifica o processo de envio programático de múltiplos e-mails em aplicações .NET . Oferece uma interface intuitiva e fluida para configurar mensagens de e-mail, gerenciar anexos e administrar listas de destinatários. Esta biblioteca abstrai as complexidades da configuração SMTP e oferece suporte a vários provedores de renderização de modelos e provedores de serviços de e-mail de teste, incluindo o Mailgun.

FluentEmail .NET é uma biblioteca popular no ecossistema .NET Core para envio de e-mails, e oferece suporte a modelos de e-mail Razor , bem como a modelos Liquid para a criação dinâmica do corpo do e-mail. Utilizar o renderizador de modelos Razor com o FluentEmail .NET permite aproveitar o poder da sintaxe Razor para criar conteúdo de e-mail dinâmico e bem formatado, além de resolver arquivos de layout.

Aqui está um guia básico sobre como usar o FluentEmail .NET com modelos Razor do ASP.NET Core .

Passo 1: Instale o FluentEmail

Primeiro, você precisa instalar o pacote FluentEmail e o pacote do renderizador de modelos Razor usando o comando Install-Package ou o comando .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

Passo 2: Criar um modelo Razor

Crie um modelo Razor para o corpo do seu e-mail. Isso pode ser um arquivo .cshtml contendo HTML e sintaxe válida de código Razor. Por exemplo, crie um arquivo chamado 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

Certifique-se de substituir YourNamespace.EmailViewModel pelo namespace e nome da classe reais do seu modelo de visão ou apenas o modelo de domínio que você passará para este modelo.

Etapa 3: Configurar o FluentEmail com o Razor Renderer

Configure o FluentEmail para usar o renderizador Razor e forneça as dependências necessárias:

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

Etapa 4: Renderizar e enviar e-mail

No código da sua aplicação, renderize o template Razor com o modelo desejado e envie o 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();
}

Certifique-se de que EmailViewModel corresponde ao modelo definido no seu modelo Razor (EmailTemplate.cshtml). Este modelo deve conter propriedades que você referencia no seu modelo Razor (@Model.Name, por exemplo).

Integrando chaves de API do Mailgun

O Mailgun é um provedor de serviços de e-mail popular, conhecido por sua confiabilidade, capacidade de entrega e recursos avançados. Ao integrar as chaves da API do Mailgun com o FluentEmail, os desenvolvedores podem aproveitar a infraestrutura do Mailgun para enviar e-mails de forma eficiente e segura.

Passos para integrar as chaves da API do Mailgun com o FluentEmail

  1. Obtenha as chaves da API do Mailgun:

    • Crie uma conta no Mailgun, caso ainda não tenha uma.
    • Acesse o painel de controle do Mailgun e crie uma nova chave de API. Forneça uma descrição.

FluentEmail C# (Como Funciona para Desenvolvedores): Figura 1 - Mailgun

  1. Instale o pacote FluentEmail:

    Utilize o Gerenciador de Pacotes NuGet ou o Console do Gerenciador de Pacotes no Visual Studio para instalar o FluentMail:

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

ou a partir do Visual Studio:

FluentEmail C# (Como Funciona para Desenvolvedores): Figura 2 - FluentEmail.Mailgun

  1. Configure o FluentEmail com as chaves da API do Mailgun:

Configure o FluentEmail para usar o Mailgun como provedor de serviços de e-mail ou remetente SMTP, configurando suas chaves de 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. Redigir e enviar e-mails:

    Utilize a interface intuitiva do FluentEmail para compor e enviar 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();
  1. Configuração Avançada:

    • Personalize as configurações de e-mail, como anexos, formatação HTML, destinatários em CC/BCC e cabeçalhos de e-mail usando a API fluente do FluentEmail.

Benefícios de usar o FluentEmail com o Mailgun

  • Simplicidade: O FluentEmail abstrai as complexidades da configuração SMTP, facilitando o envio de e-mails com o mínimo de configuração.
  • Confiabilidade: O uso da infraestrutura da Mailgun garante altas taxas de entrega e recursos robustos de gerenciamento de e-mails.
  • Escalabilidade: Expanda suas necessidades de envio de e-mails sem esforço com a infraestrutura escalável do Mailgun, adequada tanto para aplicações de pequena escala quanto para soluções de nível empresarial.
  • Recursos avançados: Aproveite os recursos do Mailgun, como rastreamento, análises e validação avançada de e-mail, para otimizar suas campanhas de e-mail.

Introdução ao IronPDF

FluentEmail C# (Como Funciona para Desenvolvedores): Figura 3 - IronPDF

IronPDF é uma biblioteca PDF for Node.js que permite gerar, gerenciar e extrair conteúdo de documentos PDF em projetos .NET . Aqui estão algumas características principais:

  1. Conversão de HTML para PDF:

    • Converter conteúdo HTML, CSS e JavaScript em documentos PDF.
    • Mecanismo de renderização do Chrome para PDFs com qualidade de imagem perfeita.
    • Gere PDFs a partir de URLs, arquivos HTML ou strings HTML como entrada.
  2. Conversão de imagem e conteúdo:

    • Converter imagens de e para PDFs.
    • Extrair texto e imagens de documentos PDF existentes.
    • Suporte para diversos formatos de imagem, como JPG, PNG, etc.
  3. Edição e Manipulação:

    • Defina propriedades, segurança e permissões para PDFs.
    • Adicionar assinaturas digitais.
    • Editar metadados e histórico de revisões.

O IronPDF se destaca na conversão de HTML para PDF , garantindo a preservação precisa dos layouts e estilos originais. É perfeito para criar PDFs a partir de conteúdo da web, como relatórios, faturas e documentação. Com suporte para arquivos HTML, URLs e strings HTML brutas, o IronPDF produz facilmente documentos PDF de alta qualidade.

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

Gere um documento PDF usando IronPDF e FluentEmail .NET com o remetente Mailgun.

Para começar, crie um aplicativo de console usando o Visual Studio, conforme mostrado abaixo.

FluentEmail C# (Como Funciona para Desenvolvedores): Figura 4 - Aplicativo Console

Informe o nome do projeto.

FluentEmail C# (Como Funciona para Desenvolvedores): Figura 5 - Configuração do Projeto

Informe a versão do .NET .

FluentEmail C# (Como Funciona para Desenvolvedores): Figura 6 - Framework de Destino

Instale o pacote IronPDF .

FluentEmail C# (Como Funciona para Desenvolvedores): Figura 7 - IronPDF

Instale o FluentEmail Mailgun.

FluentEmail C# (Como Funciona para Desenvolvedores): Figura 8 - FluentEmail.Mailgun

Para receber mensagens de e-mail durante o período de teste gratuito, o endereço de e-mail do destinatário deve ser cadastrado no painel de controle do Mailgun, conforme mostrado abaixo.

FluentEmail C# (Como Funciona para Desenvolvedores): Figura 9 - Dashboard do 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}");
        }
    }
}

Explicação do código

  1. Integração do FluentEmail com o Mailgun:

    • FluentEmail.Core: Oferece uma interface fluente para compor e enviar e-mails.
    • FluentEmail.Mailgun: Permite a integração com o Mailgun para entrega de e-mails.
  2. ChromePdfRenderer:

    • Presume-se que seja uma instância de ChromePdfRenderer da biblioteca IronPDF , usada para renderizar conteúdo HTML em um documento PDF.
  3. Preparação do Conteúdo:

    • O conteúdo HTML (content) é preparado, incluindo detalhes sobre o IronPDF. Este conteúdo é usado tanto para gerar o PDF (renderer.RenderHtmlAsPdf(content)) quanto para o corpo do e-mail.
  4. Configuração do MailgunSender:

    • MailgunSender é inicializado com credenciais da API Mailgun (domínio e chave da API). O Email.DefaultSender é definido para este remetente, garantindo que todos os e-mails subsequentes usem o Mailgun para entrega.
  5. Geração e anexação de PDF:

    • O conteúdo HTML (content) é renderizado em um PDF (pdf) usando o método RenderHtmlAsPdf do IronPDF.
    • O PDF gerado é salvo como "AwesomeFluentEmailAndIron.pdf".
  6. Composição e envio de e-mails:

    • Um e-mail é composto usando a API fluente do FluentEmail:
      • O endereço "De" é definido usando o domínio do remetente.
      • O endereço "Para" está definido como o e-mail do destinatário.
      • O assunto e o corpo do e-mail estão definidos.
      • O arquivo PDF "AwesomeFluentEmailAndIron.pdf" está anexado ao e-mail.
    • O e-mail é enviado usando .Send(), e o status de sucesso (email.Successful) é impresso no console.
  7. Saída do console:

    • Após tentar enviar o e-mail, o código exibe se o e-mail foi enviado com sucesso (Is Send Success: true/false).

Mensagem de e-mail de saída

FluentEmail C# (Como Funciona para Desenvolvedores): Figura 10 - Saída do E-mail

PDF em anexo

FluentEmail C# (Como Funciona para Desenvolvedores): Figura 11 - Saída do PDF

Licenciamento IronPDF

O pacote IronPDF requer uma licença para ser executado e gerar o PDF. Adicione o código abaixo no início da aplicação, antes que o pacote seja acessado.

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

A licença de avaliação está disponível em Licenciamento e Avaliação do IronPDF .

Conclusão

O FluentEmail, combinado com as chaves da API do Mailgun, permite que os desenvolvedores .NET simplifiquem a funcionalidade de e-mail em seus aplicativos. Seja para o envio de e-mails transacionais, newsletters ou notificações, essa integração garante confiabilidade, escalabilidade e facilidade de uso. Ao abstrair as complexidades da entrega de e-mails, o FluentEmail permite que os desenvolvedores se concentrem na criação de aplicativos robustos, aproveitando a poderosa infraestrutura de e-mail do Mailgun. Aproveite o poder do FluentEmail e do Mailgun para aprimorar seus recursos de comunicação por e-mail em aplicativos .NET hoje mesmo.
Por outro lado, o IronPDF é uma biblioteca C# robusta para criar, editar e converter documentos PDF em aplicações .NET . Ele se destaca na conversão de HTML para PDF, oferece recursos abrangentes de manipulação de PDF e se integra perfeitamente com as estruturas .NET , fornecendo soluções seguras e versáteis para o manuseio de PDFs.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

...
Leia mais

Artigos relacionados

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.