.NET ヘルプ

FluentEmail C# (開発者のための仕組み)

公開済み 2024年8月13日
共有:

今日のデジタル時代においても、電子メールは企業や個人にとってコミュニケーションの要であり続けている。 堅牢なEメール機能をASP.NET Coreアプリケーションに統合することは、通知の自動化、ニュースレターの送信、顧客とのやり取りを促進するために不可欠です。 フルーエントメール (フルーエントメール (FluentEmail)).NET用の強力なライブラリである。メールガンAPIキーは、信頼性と拡張性を備えた電子メール機能を強化するシームレスなソリューションを開発者に提供します。 この記事の後半で、我々はまた、次のように見ていきます。ironsoftware.comのIronPDFライブラリを使用して、PDF文書を生成および管理します。

イントロダクション

FluentEmailは、.NETアプリケーション内でプログラムで複数の電子メールを送信するプロセスを簡素化します。 電子メールメッセージの設定、添付ファイルの管理、受信者リストの処理など、直感的で流暢なインターフェースを提供します。 このライブラリは、SMTP設定の複雑さを抽象化し、Mailgunを含む複数のテンプレートレンダラープロバイダとテストメールサービスプロバイダをサポートしています。

FluentEmail.NETは、.NET Coreエコシステムで人気のあるメール送信用ライブラリで、メール本文を動的に作成するためのLiquidテンプレートだけでなく、Razorメールテンプレートもサポートしています。 FluentEmail.NETでRazorテンプレートレンダラーを使用すると、Razor構文のパワーを活用し、書式の整った動的なメールコンテンツを作成し、レイアウトファイルを解決することができます。

ここでは、ASP.NET Core RazorテンプレートでFluentEmail.NETを使用する方法についての基本的なガイドを示します。

ステップ1: FluentEmailをインストールする

まず、FluentEmail パッケージと Razor テンプレートレンダラーパッケージを Install-Package コマンドか .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#

ステップ2:レイザーテンプレートの作成

メール本文用のRazorテンプレートを作成します。 これは、HTMLと有効なRazorコード構文を含む.cshtmlファイルを使用できます。 例えば、「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#

ビュー・モデルの実際の名前空間とクラス名、またはこのテンプレートに渡すドメ イン・モデルだけに置き換えてください。

ステップ 3: Razor Renderer で FluentEmail をセットアップする

Razor レンダラーを使用するように FluentEmail を設定し、必要な依存関係を提供します:

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#

ステップ 4: レンダリングとメールの送信

アプリケーションコードで、Razorテンプレートを目的のモデルでレンダリングし、メールを送信します:

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#

EmailViewModel` が Razor テンプレートで定義されたモデルと一致することを確認します。(\EmailTemplate.cshtml。). このモデルには、Razor テンプレートで参照するプロパティが含まれていなければなりません。(\例えば、次のようになる。).

Mailgun APIキーの統合

Mailgunは、信頼性、配信性、豊富な機能で知られる人気のメールサービスプロバイダです。 MailgunのAPIキーをFluentEmailと統合することで、開発者はMailgunのインフラを活用して効率的かつ安全にメールを送信することができます。

MailgunのAPIキーとFluentEmailを統合する手順

  1. Mailgun APIキーの取得

    • まだの方はMailgunアカウントにサインアップしてください。

    • 以下に移動しますMailgunダッシュボードをクリックし、新しいAPIキーを作成してください。 説明してください。

    C#のFluentEmail(開発者のための仕組み):図 1 - Mailgun

  2. **FluentEmailパッケージをインストールしてください:

    NuGetパッケージマネージャまたはVisual Studioのパッケージマネージャコンソールを使用して、FluentMailをインストールします:

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

またはVisual Studioから

C#のFluentEmail(開発者向けの仕組み):図2 - FluentEmail.Mailgun

  1. MailgunのAPIキーでFluentEmailを設定します:

    APIキーを設定することで、メールサービスプロバイダまたはSMTP送信者としてMailgunを使用するようにFluentEmailを設定します:

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. 電子メールの作成と送信

    FluentEmailの流暢なインターフェイスを使ってメールを作成し、送信します:

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. 高度な設定

    • FluentEmailの流暢なAPIを使用して、添付ファイル、HTMLフォーマット、CC/BCC受信者、メールヘッダーなどのメール設定をカスタマイズします。

MailgunでFluentEmailを使用する利点

  • シンプルさ:FluentEmailは、SMTP設定の複雑さを抽象化し、最小限の設定で簡単に電子メールを送信できるようにします。
  • 信頼性:Mailgunのインフラを活用することで、高い配信率と堅牢なメール処理能力を保証します。
  • スケーラビリティ:Mailgunのスケーラブルなインフラストラクチャは、小規模なアプリケーションからエンタープライズレベルのソリューションまで対応可能です。
  • 豊富な機能:Mailgunのトラッキング、アナリティクス、高度なメール検証などの機能を活用し、メールキャンペーンを最適化しましょう。

IronPDFの紹介

C#のFluentEmail(開発者のための仕組み):図3 - IronPDF

IronPDFはNode.jsのPDFライブラリで、.NETプロジェクトでPDFドキュメントの生成、管理、コンテンツの抽出ができます。 以下は主な機能です:

  1. HTMLからPDFに変換:

    • HTML、CSS、JavaScriptコンテンツをPDFドキュメントに変換します。

    • ChromeレンダリングエンジンでピクセルパーフェクトなPDFを。

    • URL、HTMLファイル、HTML文字列を入力としてPDFを生成します。
  2. 画像とコンテンツの変換

    • 画像をPDFに、またはPDFから変換します。

    • 既存のPDF文書からテキストと画像を抽出します。

    • JPG、PNGなど様々な画像形式をサポート。
  3. 編集と操作

    • PDFのプロパティ、セキュリティ、権限を設定します。

    • デジタル署名を追加する。

    • メタデータとリビジョン履歴を編集する。

Mailgun送信機でIronPDFとFluentEmail .NETを使ってPDF文書を生成する

まず始めに、Visual Studioを使って以下のようにコンソール・アプリケーションを作成します。

C#のFluentEmail(開発者向けの仕組み):図 4 - コンソールアプリ

プロジェクト名を提供する。

C#のFluentEmail(開発者向けの仕組み):図 5 - プロジェクトの構成

.NET バージョンを提供する。

C#のFluentEmail(開発者向けの仕組み):図 6 - ターゲットフレームワーク

IronPDFパッケージをインストールします。

C#のFluentEmail(開発者向けの仕組み):図7 - IronPDF

FluentEmail Mailgunをインストールします。

C#のFluentEmail(開発者向けの仕組み):図 8 - FluentEmail.Mailgun

無料トライアルで電子メールメッセージを受信するには、受信者の電子メールは、ダッシュボードのMailgun登録ダッシュボード以下のとおりです。

C#のFluentEmail(開発者のための仕組み):図 9 - 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#

コードの説明

  1. FluentEmailとMailgunの統合

    • FluentEmail.Core:電子メールの作成と送信のための流暢なインターフェイスを提供します。

    • FluentEmail.Mailgun:メール配信のためのMailgunとの統合を有効にします。
  2. ChromePdfRenderer

    • これはIronPDFライブラリのChromePdfRendererのインスタンスと仮定され、HTMLコンテンツをPDFドキュメントにレンダリングするために使用されます。
  3. コンテンツの準備

    • HTMLコンテンツ(内容)が用意されており、IronPDFについての詳細も含まれている。 このコンテンツは、PDF(renderer.RenderHtmlAsPdf(内容))とメール本文。
  4. MailgunSender Setup

    • MailgunSender は Mailgun API 認証情報で初期化されます。(ドメインとAPIキー). Email.DefaultSenderはこの送信者に設定され、それ以降のすべてのメールが配信にMailgunを使用することを保証します。
  5. PDF生成と添付

    • HTMLコンテンツ(内容)はPDFにレンダリングされます。(pdf)IronPDFのRenderHtmlAsPdfメソッドを使います。

    • 生成されたPDFは "AwesomeFluentEmailAndIron.pdf "として保存されます。
  6. 電子メールの作成と送信

    • メールはFluentEmailのfluent APIを使って作成されます:

      • 差出人アドレスは、送信者のドメインを使用して設定されます。

      • アドレスは .

      • メールの件名と本文が定義されている。

      • PDFファイル「AwesomeFluentEmailAndIron.pdf」がメールに添付されています。
    • メールは.Sendを使って送信される。()成功のステータス(email.Successful)がコンソールに出力される。
  7. コンソール出力

    • 電子メールの送信を試みた後、コードは電子メールが正常に送信されたかどうかを出力します。(送信成功:true/false).

メールメッセージの出力

C#のFluentEmail(開発者向けの仕組み):図 10 - 電子メールの出力

添付PDF

C#のFluentEmail(開発者向けの仕組み):図 11 - PDF 出力

IronPDF ライセンシング

IronPDFパッケージの実行とPDF生成にはライセンスが必要です。 パッケージにアクセスする前に、アプリケーションの開始位置に以下のコードを追加する。

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

トライアル・ライセンスは以下から入手可能。IronPDF ライセンスとトライアル.

結論

FluentEmailとMailgun APIキーの組み合わせにより、.NET開発者はアプリケーション内のEメール機能を効率化することができます。 トランザクションメール、ニュースレター、通知のいずれを送信する場合でも、この統合は信頼性、拡張性、使いやすさを保証します。 メール配信の複雑さを抽象化することで、FluentEmailの開発者はMailgunの強力なメールインフラを活用しながら、堅牢なアプリケーションの構築に集中することができます。 FluentEmailとMailgunのパワーを利用して、.NETアプリケーションのメールコミュニケーション機能を強化しましょう。

IronPDFは.NETアプリケーション内でPDFドキュメントを作成、編集、変換するための堅牢なC#ライブラリです。 HTMLからPDFへの変換に優れ、包括的なPDF操作機能を提供し、.NETフレームワークとシームレスに統合し、安全で汎用性の高いPDF処理ソリューションを提供します。

< 以前
Entity Framework Core (開発者のための仕組み)
次へ >
LazyCache C# (開発者のための仕組み)