メニュー
Amazon Simple Email Service
開発者ガイド (API Version 2010-12-01)

AWS SDK for Java を使用して Amazon SES から E メールを送信する

以下の手順では、Eclipse IDE for Java EE DevelopersAWS Toolkit for Eclipse を使用して AWS SDK プロジェクトを作成し、Java コードを変更して Amazon SES から E メールを送信する方法について説明します。環境変数から AWS の認証情報を取得します。

この手順を開始する前に、「Amazon SES を開始する前に」と「AWS SDK を使用して Amazon SES から E メールを送信する」に記載されているセットアップ作業を完了します。

重要

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

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

  1. AWS_ACCESS_KEY_ID という環境変数を作成し、自分の AWS アクセスキー ID を指定します。環境変数の設定手順は、ご利用のオペレーティングシステムによって異なります。AWS アクセスキー ID は AKIAIOSFODNN7EXAMPLE のようになります。

  2. AWS_SECRET_ACCESS_KEY という環境変数を作成し、AWS シークレットアクセスキーを指定します。AWS シークレットアクセスキーは wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY のようになります。

  3. 以下のステップを実行し、Eclipse で AWS Java プロジェクトを作成します。

    1. Eclipse を開きます。

    2. Eclipse で、[File] を選択し、[New]、[AWS Java Project] の順に選択します。[AWS Java Project] がオプションとして表示されない場合は、[Other] を選択してください。

    3. [Create an AWS Java Project] ダイアログボックスで、プロジェクト名を入力します。

    4. [Finish] を選択します。

  4. Eclipse で、[Package Explorer] ウィンドウのプロジェクトを展開します。

  5. プロジェクトの下の [src] ディレクトリを右クリックし、[New]、[Class] の順に選択します。

  6. [Java Class] ダイアログボックスの [Name] フィールドに AmazonSESSample と入力し、[Finish] を選択します。

  7. AmazonSESSample.java のすべてのコンテンツを以下のコードに置き換えます。

    Copy
    import java.io.IOException; import com.amazonaws.services.simpleemail.*; import com.amazonaws.services.simpleemail.model.*; import com.amazonaws.regions.*; public class AmazonSESSample { static final String FROM = "SENDER@EXAMPLE.COM"; // Replace with your "From" address. This address must be verified. static final String TO = "RECIPIENT@EXAMPLE.COM"; // Replace with a "To" address. If your account is still in the // sandbox, this address must be verified. static final String BODY = "This email was sent through Amazon SES by using the AWS SDK for Java."; static final String SUBJECT = "Amazon SES test (AWS SDK for Java)"; public static void main(String[] args) throws IOException { // Construct an object to contain the recipient address. Destination destination = new Destination().withToAddresses(new String[]{TO}); // Create the subject and body of the message. Content subject = new Content().withData(SUBJECT); Content textBody = new Content().withData(BODY); Body body = new Body().withText(textBody); // Create a message with the specified subject and body. Message message = new Message().withSubject(subject).withBody(body); // Assemble the email. SendEmailRequest request = new SendEmailRequest().withSource(FROM).withDestination(destination).withMessage(message); try { System.out.println("Attempting to send an email through Amazon SES by using the AWS SDK for Java..."); // Instantiate an Amazon SES client, which will make the service call. The service call requires your AWS credentials. // Because we're not providing an argument when instantiating the client, the SDK will attempt to find your AWS credentials // using the default credential provider chain. The first place the chain looks for the credentials is in environment variables // AWS_ACCESS_KEY_ID and AWS_SECRET_KEY. // For more information, see http://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/credentials.html AmazonSimpleEmailServiceClient client = new AmazonSimpleEmailServiceClient(); // Choose the AWS region of the Amazon SES endpoint you want to connect to. Note that your sandbox // status, sending limits, and Amazon SES identity-related settings are specific to a given AWS // region, so be sure to select an AWS region in which you set up Amazon SES. Here, we are using // the 米国西部 (オレゴン) region. Examples of other regions that Amazon SES supports are US_EAST_1 // and EU_WEST_1. For a complete list, see http://docs.aws.amazon.com/ses/latest/DeveloperGuide/regions.html Region REGION = Region.getRegion(Regions.US_WEST_2); client.setRegion(REGION); // Send the email. client.sendEmail(request); System.out.println("Email sent!"); } catch (Exception ex) { System.out.println("The email was not sent."); System.out.println("Error message: " + ex.getMessage()); } } }
  8. AmazonSESSample.java で、以下の内容を独自の値に置き換えます。

    重要

    E メールアドレスでは、大文字と小文字は区別されます。確認したアドレスと完全に一致することを確認してください。

    • SENDER@EXAMPLE.COM – 「From」の E メールアドレスに置き換えます。このアドレスを確認してから、プログラムを実行してください。詳細については、「Amazon SES での E メールアドレスとドメインの検証」を参照してください。

    • RECIPIENT@EXAMPLE.COM – 「To」の E メールアドレスに置き換えます。アカウントがサンドボックスにまだある場合は、このアドレスを使用前に確認する必要があります。詳細については、「 Amazon SES サンドボックスの外への移動」を参照してください。

    • REGION – 接続する Amazon SES エンドポイントの AWS リージョンに設定します。サンドボックスステータス、送信制限、Amazon SES ID 関連の設定は、指定された AWS リージョンに固有のものです。Amazon SES をセットアップする AWS リージョンを必ず選択してください。この例では、米国西部 (オレゴン) リージョンを使用しています。Amazon SES がサポートするその他の地域の例には、US_EAST_1 と EU_WEST_1 があります。Amazon SES がサポートするすべての AWS リージョンのリストは、「リージョンと Amazon SES」を参照してください。

  9. AmazonSESSample.java を保存します。

  10. プロジェクトを構築します。[Project]、[Build Project] の順に選択します。(このオプションが無効の場合、自動構築が有効になっている可能性があります。)

  11. プログラムを開始して E メールを送信します。[Run] を選択した後、もう一度 [Run] を選択します。

  12. プログラムのコンソール出力をレビューして、正常に送信できたことを確認します。("Email sent!" と表示されます)。

  13. 受取人のアドレスの E メールクライアントにログインします。送信した E メールメッセージを確認します。