この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 40028|答える: 1

[.NET Core] ASP.NET Coreでメッセージを送信

[リンクをコピー]
掲載地 2017/05/03 15:32:37 | | |
前書き

現在の.NET CoreはSMTPプロトコルをサポートしていないことがわかっています。メールの送信機能を使う際には、目的を達成するためにサードパーティのコンポーネントを使う必要があります。今日は、OpenSourceのメール送信コンポーネント、MailKitとFluentEmailをそれぞれご紹介します。

MailKit

ASP.NET CoreではMailKitを使ってメッセージを送信でき、クロスプラットフォーム、IMAP、POP3、SMTPなどのプロトコルをサポートしています。

以下の方法でインストールできます:


こちらがメール送信の簡単な例です:



送信したい本文の内容がHTMLであれば、以下のものを使用できます:




Fluent Emailもオープンソースプロジェクトで、Razorテンプレートを使ってメールを送信でき、Mailgunなどのサードパーティメール送信機と連携できますが、このパッケージは.NET 4.6のSMTPのみをサポートしています。 以下のコマンドでインストールできます:


メールを送る方法は、最も基本的な方法でできます。こんな簡単な方法です:



あるいは、Razorテンプレートを使って以下を送信することもできます:


Email.DefaultRendererはFulentEmailにどのレンダラーを使うかを指示し(自分で実装することもできます)、その後、Razorの構文のテンプレート文字列の内容を含むテンプレートテンプレートを提供し、その後UsingTemplateを使ってレンダリングします。

ディスク上のCSHTMLテンプレート

Razorのテンプレートファイルが大きくて文字列を使うのが上手くない場合は、テンプレートファイルをディスクに置いて以下のように読み込むことができます:




Mailgunでメッセージを送信

Mailgunについてあまり知らない人もいるかもしれませんが、Mailgunは海外の郵便サービス会社で、有名なGithubメールサービスがホストされており、無料のMaingunアカウントで月に1万通のメールを送信でき、多くの小規模・中規模のウェブサイトには十分な金額です。

Mailgunでメールを送信する際は、まずアカウントを登録し、その後Mailgunが提供するRest APIを使って送受信したメールを管理できます。 FluentEmail連携のMailgunは、次のようなパッケージを追加するだけで十分です。


Mailgunを登録すると、APIキーとセカンドレベルドメイン名が割り当てられ、以下のように設定する必要があります。




概要

上記の例から、MailKitとFluentEmailにはそれぞれの利点と欠点があることがわかります。 MailKitの利点は多くのプロトコルをサポートし、クロスプラットフォームであることですが、Razorのサポートがないため、Mailgunを使う場合は自分で統合する必要があるという欠点があります。 FlentEmailの利点はRazorテンプレートのサポートを提供し、Mailgunをカプセル化できることですが、欠点はSMTPプロトコルがまだ.NET Coreをサポートしていないことです。

まとめると、Mailgunを使ってメールを送信するならFluentEmailを選ぶべきですし、SMTPプロトコルを使ってメールサーバーにリンクしてメールを送信したい場合はMailKitを使うべきです。





先の:.net/c# Googleプロトコルバッファチュートリアル
次に:なぜ.net/c#のタスクはThreadよりも遅いのですか?
掲載地 2021/11/04 13:57:02 |
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com