メニュー
Amazon Simple Email Service
開発者ガイド

AWS SDK for .NET を使用して E メールを送信する

以下の手順は、Visual Studio および AWS SDK for .NET を使用して Amazon SES で E メールを送信する方法を示しています。

このソリューションは次のコンポーネントを使用してテスト済みです。

  • Microsoft Visual Studio コミュニティ 2017、バージョン 15.4.0。

  • Microsoft .NET Framework バージョン 4.6.1。

  • NuGet を使用してインストールされた AWSSDK.Core パッケージ (バージョン 3.3.19)。

  • NuGet を使用してインストールされた AWSSDK.SimpleEmail パッケージ (バージョン 3.3.6.1)。

注記

この入門用チュートリアルでは、受信されたかどうかを確認できるように自分宛に E メールを送信します。さらに詳しい実験や負荷テストには、Amazon SES メールボックスシミュレーターを使用してください。メールボックスシミュレーターに送信される E メールは、送信クォータに加算されず、バウンス率や苦情率の計算にも含まれません。詳細については、「Amazon SES E メール送信のテスト」を参照してください。

前提条件

開始する前に、次のタスクを実行します。

  • Amazon SES を使用して E メールアドレスを確認 – Amazon SES でメールを送信する前に、送信者のメールアドレスを所有していることを確認する必要があります。アカウントが Amazon SES サンドボックスにまだある場合は、受取人の E メールアドレスも検証する必要があります。E メールアドレスを検証する最も簡単な方法は、Amazon SES コンソールを使用することです。詳細については、「Amazon SES での E メールアドレスの検証」を参照してください。

  • AWS 認証情報の取得 – SDK を使用して、Amazon SES にアクセスするには、AWS アクセスキー ID と AWS シークレットアクセスキーが必要です。認証情報は、AWS マネジメントコンソール の [認証情報] ページで確認できます。認証情報の詳細については、「Amazon SES での認証情報の使用」を参照してください。

  • Visual Studio のインストール – Visual Studio は https://www.visualstudio.com/ からダウンロードできます。

  • 共有認証情報ファイルの作成 – このセクションのサンプルコードが正常に機能するためには、共有認証情報ファイルを作成する必要があります。詳細については、「認証情報の共有ファイルの作成」を参照してください。

手順

次の手順では、AWS SDK for .NET を使用して Amazon SES で E メールを送信する方法を示します。

AWS SDK for .NET を使用して E メールを送信するには

  1. 以下のステップを実行して、新しいプロジェクトを作成します。

    1. Visual Studio を起動します。

    2. [File] メニューで [New]、[Project] の順に選択します。

    3. [New Project] ウィンドウの左側のパネルで、[Installed]、[Visual C#] の順に展開します。

    4. 右側のパネルで、[Console App (.NET Framework)] を選択します。

    5. [名前] フィールドに「AmazonSESSample」と入力し、[OK] を選択します。

  2. 次のステップを実行して、NuGet を使用して Amazon SES パッケージをソリューションに含めます。

    1. ソリューションエクスプローラーペインで、プロジェクトを右クリックして、コンテキストメニューの [NuGet パッケージの管理] を選択します。

    2. [NuGet: AmazonSESSample] タブで、[参照] を選択します。

    3. 検索ボックスに「AWSSDK.SimpleEmail」と入力します。

    4. [AWSSDK.SimpleEmail] パッケージを選択し、[インストール] を選択します。

    5. [Preview Changes] ウィンドウで、[OK] を選択します。

  3. [Program.cs] タブで、次のコードを貼り付けます。

    using Amazon; using System; using System.Collections.Generic; using Amazon.SimpleEmail; using Amazon.SimpleEmail.Model; namespace AmazonSESSample { class Program { // Replace sender@example.com with your "From" address. // This address must be verified with Amazon SES. static readonly string senderAddress = "sender@example.com"; // Replace recipient@example.com with a "To" address. If your account // is still in the sandbox, this address must be verified. static readonly string receiverAddress = "recipient@example.com"; // The configuration set to use for this email. If you do not want to use a // configuration set, comment out the following property and the // ConfigurationSetName = configSet argument below. static readonly string configSet = "ConfigSet"; // The subject line for the email. static readonly string subject = "Amazon SES test (AWS SDK for .NET)"; // The email body for recipients with non-HTML email clients. static readonly string textBody = "Amazon SES Test (.NET)\r\n" + "This email was sent through Amazon SES " + "using the AWS SDK for .NET."; // The HTML body of the email. static readonly string htmlBody = @"<html> <head></head> <body> <h1>Amazon SES Test (AWS SDK for .NET)</h1> <p>This email was sent with <a href='https://aws.amazon.com/ses/'>Amazon SES</a> using the <a href='https://aws.amazon.com/sdk-for-net/'> AWS SDK for .NET</a>.</p> </body> </html>"; static void Main(string[] args) { // Replace USWest2 with the AWS Region you're using for Amazon SES. // Acceptable values are EUWest1, USEast1, and USWest2. using (var client = new AmazonSimpleEmailServiceClient(RegionEndpoint.USWest2)) { var sendRequest = new SendEmailRequest { Source = senderAddress, Destination = new Destination { ToAddresses = new List<string> { receiverAddress } }, Message = new Message { Subject = new Content(subject), Body = new Body { Html = new Content { Charset = "UTF-8", Data = htmlBody }, Text = new Content { Charset = "UTF-8", Data = textBody } } }, // If you are not using a configuration set, comment // or remove the following line ConfigurationSetName = configSet }; try { Console.WriteLine("Sending email using Amazon SES..."); var response = client.SendEmail(sendRequest); Console.WriteLine("The email was sent successfully."); } catch (Exception ex) { Console.WriteLine("The email was not sent."); Console.WriteLine("Error message: " + ex.Message); } } Console.Write("Press any key to continue..."); Console.ReadKey(); } } }
  4. コードエディタで、以下の作業を行います。

    • sender@example.com を "差出人:" の E メールアドレスに置き換えます。このアドレスは確認する必要があります。詳細については、「Amazon SES の ID の検証」を参照してください。

    • recipient@example.com を "宛先:" のアドレスに置き換えます。アカウントがサンドボックスにまだある場合は、このアドレスも確認する必要があります。

    • ConfigSet を、この E メールを送信するときに使用する設定セットの名前に置き換えます。

    • USWest2 を、Amazon SES を使用して E メールを送信するために使用する AWS リージョンのエンドポイントの名前に置き換えます。使用できる値は、USEast1USWest2EUWest1 です。

    終了したら、Program.cs を保存します。

  5. 次の手順に従ってアプリケーションをビルドおよび実行します。

    1. [Build] メニューの [Build Solution] を選択します。

    2. [Debug] メニューの [Start Debugging] を選択します。コンソールウィンドウが表示されます。

  6. コンソールの出力を確認します。E メールが正常に送信されると、コンソールに "The email was sent successfully."

  7. E メールが正常に送信されたら、受取人アドレスの E メールクライアントにサインインします。送信した E メールメッセージを確認します。

このページの内容: