MailKitと電子メール配信の統合
MailKitを使用して、電子メール配信サービスを介して電子メールを送信します。
電子メール配信を介した電子メール送信のためのMailKitの構成
MailKitは、.NETアプリケーション用のオープン・ソースのクロス・プラットフォーム電子メール・フレームワークです。SmtpClientは、.NETアプリケーションでメールを送信するための推奨アプローチではなくなったため、かわりにMailKitを使用してEmail Deliveryを介して電子メールを送受信できます。MailKitを使用する前に、サンプルのMailKitコードを設定し、Email Delivery構成でテストします。
重要
次の手順には、便宜上サンプル・コードが含まれており、参照として使用する必要があります。
次の手順には、便宜上サンプル・コードが含まれており、参照として使用する必要があります。
MailKitサンプル・コードを設定し、Email Delivery構成をテストするには:
-
電子メール配信が電子メールを送信するように構成されていることを確認します。開始を参照してください。
ノート
MailKitが電子メール配信を使用するように構成するには、SMTP資格証明が必要です。SMTP資格証明の生成時には、ユーザー名とパスワードを書き留めてください。
-
Visual Studio Codeでプロジェクトを作成するには:
- OCIEmailという名前のフォルダを作成して、プロジェクト・スペースを作成します。
- 「VSコード・ファイル」→「フォルダを開く」で、OCIEmailフォルダを開きます。
- ターミナル・ウィンドウを開きます(ctrl + ~)。
- プロジェクト・テンプレートを作成し、MailKitの依存性を追加するには、ターミナルで次のコマンドを実行します。
dotnet new console --framework net6.0 dotnet add package MailKit --version 2.15.0
「VS Code Explorer」ウィンドウでプロジェクトを展開します。
- Program.csファイルの内容を次のコード・ブロックに置き換えます。
using System; using MailKit.Net.Smtp; using MailKit; using MimeKit; namespace Program { class TestOCIEmail { public static void Main (string[] args) { var message = new MimeMessage (); message.From.Add (new MailboxAddress ("<FROM NAME>", "<FROM>")); message.To.Add (new MailboxAddress ("<TO NAME>", "<TO>")); message.Subject = "Mail from OCI ED service"; message.Body = new TextPart ("Html") { Text = @" <h1>OCI Email Delivery test</h1> <p>This email was sent with OCI Email Delivery using the <a href='https://github.com/jstedfast/MailKit'>MailKit Package</a> for .Net .</p>" }; using (var client = new SmtpClient ()) { var host = "<HOST>"; var port = 587; var username = "<smtp username>"; var password = "<smtp password>"; client.Connect (host, port, false); client.Authenticate (username, password); client.Send (message); client.Disconnect (true); } Console.WriteLine("Email send successfully !!"); } } }
-
次のパラメータをProgram.csファイル内の独自の値に置き換えます。
- FROM - 送信者の電子メール・アドレスに置き換えます。この電子メール・アドレスがEmail Deliveryの「承認済送信者」リストに追加されていることを確認します。
- TO - 受信者の電子メール・アドレスに置き換えます。
- SMTP資格証明 - smtp_usernameおよびsmtp_passwordを、コンソールで生成されるOracle Cloud Infrastructure SMTPのユーザー名およびパスワードに置き換えます。
- HOST - 電子メール配信のSMTPエンドポイントに置き換えます。たとえば、smtp.us-ashburn-1.oraclecloud.comです。
- 変更を保存し、次のコマンドを実行してメールを送信します。
dotnet run
- 出力を確認します。電子メールが正常に送信された場合、コンソールに電子メールが正常に送信されましたが表示されますそれ以外の場合は、エラー・メッセージが表示されます。
- 受信者の受信ボックスにログインし、電子メールの受信を確認します。