翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
SES を使用して Amazon 経由で E メールを送信する AWS SDK
を使用して AWS SDK Amazon 経由で E メールを送信できますSES。 AWS SDKs は、複数のプログラミング言語で使用できます。詳細については、Tools for Amazon Web Services
前提条件
次のセクションのコードサンプルを完了するには、次の前提条件を完了する必要があります。
-
まだ行っていない場合は、「Amazon Simple Email Service を設定する」の作業を完了してください。
-
Amazon で E メールアドレスを確認する SES— Amazon で E メールを送信する前にSES、送信者の E メールアドレスを所有していることを確認する必要があります。アカウントがまだ Amazon SESサンドボックスにある場合は、受信者の E メールアドレスも確認する必要があります。Amazon SESコンソールを使用して E メールアドレスを確認することをお勧めします。詳細については、「Eメールアドレス ID の作成」を参照してください。
-
AWS 認証情報を取得する — SESを使用して Amazon にアクセスするには、 AWS アクセスキー ID と AWS シークレットアクセスキーが必要ですSDK。認証情報を取得するするには、 AWS Management Consoleの「セキュリティの認証情報
」のページを参照してください。認証情報の詳細については、「Amazon SES 認証情報の種類」を参照してください。 -
共有認証情報ファイルの作成 — このセクションのサンプルコードが正常に機能するためには、共有認証情報ファイルを作成する必要があります。詳細については、「SES を使用して Amazon 経由で E メールを送信するときに使用する共有認証情報ファイルの作成 AWS SDK」を参照してください。
コードの例
重要
次のチュートリアルでは、受信を確認できるように自分宛に E メールを送信します。さらなる実験や負荷テストには、Amazon SESメールボックスシミュレーターを使用します。メールボックスシミュレーターに送信される E メールは、送信クォータに加算されず、バウンス率や苦情率の計算にも含まれません。詳細については、手動でメールボックスシミュレーターを使用するを参照ください。
プログラミング言語を選択して、その言語の例を表示します。
- .NET
-
次の手順では、Visual Studio
と SESを使用して Amazon 経由で E メールを送信する方法を示します AWS SDK for .NET。 このソリューションは次のコンポーネントを使用してテスト済みです。
-
Microsoft Visual Studio コミュニティ 2017、バージョン 15.4.0。
-
Microsoft 。NET フレームワークバージョン 4.6.1。
-
を使用してインストールされた AWSSDK.Core パッケージ (バージョン 3.3.19) NuGet。
-
を使用してインストールされた AWSSDK.SimpleEmail package (バージョン 3.3.6.1) NuGet。
開始する前に、次のタスクを実行します。
-
Visual Studio のインストール — Visual Studio は https://www.visualstudio.com/
で入手できます。
を使用して E メールを送信するには AWS SDK for .NET
-
以下のステップを実行して、新しいプロジェクトを作成します。
-
Visual Studio を起動します。
-
[ファイル] メニューで [New]、[Project] の順に選択します。
-
[New Project] ウィンドウの左側のパネルで、[Installed]、[Visual C#] の順に展開します。
-
右側のパネルで、コンソールアプリ () を選択します。NET フレームワーク)。
-
名前に
AmazonSESSample
と入力し、OK を選択します。
-
-
を使用して NuGet 、次の手順を実行して Amazon SESパッケージをソリューションに含めます。
-
Solution Explorer ペインでプロジェクトを右クリックし、 NuGet パッケージの管理 を選択します。
-
NuGetタブmazonSESSampleで、 参照 を選択します。
-
検索ボックスに [
AWSSDK.SimpleEmail
] と入力します -
AWSSDK.SimpleEmail パッケージを選択し、インストール を選択します。
-
変更のプレビューウィンドウで、OK を選択します。
-
-
[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(); } } } -
コードエディタで、以下の作業を行います。
-
置換
sender@example.com
「From:」の E メールアドレスを使用します。このアドレスは確認する必要があります。詳細については、「Amazon SES の検証済みID」を参照してください。 -
置換
recipient@example.com
を「To:」アドレスで使用します。アカウントがサンドボックスにまだある場合は、このアドレスも確認する必要があります。 -
置換
ConfigSet
この E メールを送信するときに使用する設定セットの名前。 -
置換
USWest2
Amazon を使用して E メールを送信するために使用する AWS リージョン エンドポイントの名前。 SESAmazon が利用可能なリージョンのリストSESについては、「」の「Amazon Simple Email Service (Amazon SES)」を参照してくださいAWS 全般のリファレンス。
終了したら、
Program.cs
を保存します。 -
-
次の手順に従ってアプリケーションをビルドおよび実行します。
-
[Build] メニューの [Build Solution] を選択します。
-
[Debug] メニューの [Start Debugging] を選択します。コンソールウィンドウが表示されます。
-
-
コンソールの出力を確認します。E メールが正常に送信されると、コンソールに "
The email was sent successfully.
" と表示されます -
E メールが正常に送信されたら、受信者アドレスの E メールクライアントにサインインします。送信した E メールメッセージを確認します。
-
- Java
-
次の手順では、Eclipse IDE for Java EE Developers
を使用してプロジェクトAWS Toolkit for Eclipseを作成し AWS SDK、Java コードを変更して Amazon 経由で E メールを送信する方法を示しますSES。 開始する前に、次のタスクを実行します。
-
Eclipse のインストール - Eclipse はhttps://www.eclipse.org/downloads
からダウンロードできます。このチュートリアルのコードは、バージョン 1.8 の Java Runtime Environment を実行する Eclipse Neon.3 (バージョン 4.6.3) でテスト済みです。 -
のインストール AWS Toolkit for Eclipse— Eclipse のインストール AWS Toolkit for Eclipse に を追加する手順については、https://aws.amazon.com/eclipse
を参照してください。このチュートリアルのコードはバージョン 2.3.1 の AWS Toolkit for Eclipseでテスト済みです。
を使用して E メールを送信するには AWS SDK for Java
-
次の手順を実行して、Eclipse で AWS Java プロジェクトを作成します。
-
Eclipse を起動します。
-
[File] メニューで [New]、[Other] の順に選択します。[New] ウィンドウで、AWSフォルダを展開し、[AWS Java Project] を選択します。
-
New AWS Java Project ダイアログボックスで、以下を実行します。
-
[Project name] に、プロジェクト名を入力します。
-
AWS SDK for Java サンプル で、Amazon Simple Email Service JavaMail サンプル を選択します。
-
[Finish] を選択します。
-
-
-
Eclipse の [Package Explorer] ペインで、プロジェクトを展開します。
-
プロジェクトの
src/main/java
フォルダ、com.amazon.aws.samples
フォルダの順に展開し、AmazonSESSample.java
をダブルクリックします。 -
AmazonSESSample.java
の内容全体を次のコードに置き換えます。package com.amazonaws.samples; import java.io.IOException; import com.amazonaws.regions.Regions; import com.amazonaws.services.simpleemail.AmazonSimpleEmailService; import com.amazonaws.services.simpleemail.AmazonSimpleEmailServiceClientBuilder; import com.amazonaws.services.simpleemail.model.Body; import com.amazonaws.services.simpleemail.model.Content; import com.amazonaws.services.simpleemail.model.Destination; import com.amazonaws.services.simpleemail.model.Message; import com.amazonaws.services.simpleemail.model.SendEmailRequest; public class AmazonSESSample { // Replace sender@example.com with your "From" address. // This address must be verified with Amazon SES. static final String FROM = "
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 final String TO = "recipient@example.com
"; // The configuration set to use for this email. If you do not want to use a // configuration set, comment the following variable and the // .withConfigurationSetName(CONFIGSET); argument below. static final String CONFIGSET = "ConfigSet
"; // The subject line for the email. static final String SUBJECT = "Amazon SES test (AWS SDK for Java)"; // The HTML body for the email. static final String HTMLBODY = "<h1>Amazon SES test (AWS SDK for Java)</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-java/'>" + "AWS SDK for Java</a>"; // The email body for recipients with non-HTML email clients. static final String TEXTBODY = "This email was sent through Amazon SES " + "using the AWS SDK for Java."; public static void main(String[] args) throws IOException { try { AmazonSimpleEmailService client = AmazonSimpleEmailServiceClientBuilder.standard() // Replace US_WEST_2 with the AWS Region you're using for // Amazon SES. .withRegion(Regions.US_WEST_2
).build(); SendEmailRequest request = new SendEmailRequest() .withDestination( new Destination().withToAddresses(TO)) .withMessage(new Message() .withBody(new Body() .withHtml(new Content() .withCharset("UTF-8").withData(HTMLBODY)) .withText(new Content() .withCharset("UTF-8").withData(TEXTBODY))) .withSubject(new Content() .withCharset("UTF-8").withData(SUBJECT))) .withSource(FROM) // Comment or remove the next line if you are not using a // configuration set .withConfigurationSetName(CONFIGSET); client.sendEmail(request); System.out.println("Email sent!"); } catch (Exception ex) { System.out.println("The email was not sent. Error message: " + ex.getMessage()); } } } -
AmazonSESSample.java
で、以下を独自の値に置き換えます。重要
E メールアドレスでは、大文字と小文字は区別されます。検証したアドレスと完全に一致することを確認してください。
-
SENDER@EXAMPLE.COM
- 「From」E メールアドレスに置き換えます。このアドレスを確認してから、プログラムを実行してください。詳細については、「Amazon SES の検証済みID」を参照してください。 -
RECIPIENT@EXAMPLE.COM
- 「To」E メールアドレスに置き換えます。アカウントがサンドボックスにまだある場合は、このアドレスを使用前に確認する必要があります。詳細については、「本番稼働アクセスのリクエスト (Amazon SESサンドボックスからの移動)」を参照してください。 -
(オプション)
us-west-2
— 米国西部 (オレゴン) 以外のリージョンSESで Amazon を使用する場合は、これを使用するリージョンに置き換えます。Amazon が利用可能なリージョンのリストSESについては、「」の「Amazon Simple Email Service (Amazon SES)」を参照してくださいAWS 全般のリファレンス。
-
-
AmazonSESSample.java
を保存します。 -
プロジェクトを構築します。[Project]、[Build Project] の順に選択します。
注記
このオプションが無効の場合、自動構築が有効になっている可能性があります。その場合は、このステップをスキップします。
-
プログラムを開始して E メールを送信します。[Run] を選択した後、もう一度 [Run] を選択します。
-
Eclipse でコンソールペインの出力を確認します。E メールが正常に送信されると、コンソールに "
Email sent!
" が表示されます。送信に失敗すると、エラーメッセージが表示されます。 -
E メールが正常に送信されたら、受信者アドレスの E メールクライアントにサインインします。送信した E メールメッセージを確認します。
-
- PHP
-
このトピックでは、 AWS SDK for PHP
を使用して Amazon 経由で E メールを送信する方法について説明しますSES。 開始する前に、次のタスクを実行します。
-
インストール PHP—PHP は http://php.net/downloads.php
で入手できます。このチュートリアルにはPHPバージョン 5.5 以降が必要です。をインストールしたらPHP、環境変数PHPに へのパスを追加して、任意のコマンドプロンプトPHPから実行できるようにします。このチュートリアルのコードは 7.2.7 PHP を使用してテストされました。 -
AWS SDK for PHP バージョン 3 のインストール — ダウンロードとインストールの手順については、AWS SDK for PHP ドキュメント を参照してください。このチュートリアルのコードは、 のバージョン 3.64.13 を使用してテストされましたSDK。
SES を使用して Amazon 経由で E メールを送信するには AWS SDK for PHP
-
テキストエディタで
amazon-ses-sample.php
という名前のファイルを作成します。次のコードを貼り付けます。<?php // If necessary, modify the path in the require statement below to refer to the // location of your Composer autoload.php file. require 'vendor/autoload.php'; use Aws\Ses\SesClient; use Aws\Exception\AwsException; // Create an SesClient. Change the value of the region parameter if you're // using an AWS Region other than US West (Oregon). Change the value of the // profile parameter if you want to use a profile in your credentials file // other than the default. $SesClient = new SesClient([ 'profile' => 'default', 'version' => '2010-12-01', 'region' => '
us-west-2
' ]); // Replace sender@example.com with your "From" address. // This address must be verified with Amazon SES. $sender_email = 'sender@example.com
'; // Replace these sample addresses with the addresses of your recipients. If // your account is still in the sandbox, these addresses must be verified. $recipient_emails = ['recipient1@example.com
','recipient2@example.com
']; // Specify a configuration set. If you do not want to use a configuration // set, comment the following variable, and the // 'ConfigurationSetName' => $configuration_set argument below. $configuration_set = 'ConfigSet
'; $subject = 'Amazon SES test (AWS SDK for PHP)'; $plaintext_body = 'This email was sent with Amazon SES using the AWS SDK for PHP.' ; $html_body = '<h1>AWS Amazon Simple Email Service Test Email</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-php/">'. 'AWS SDK for PHP</a>.</p>'; $char_set = 'UTF-8'; try { $result = $SesClient->sendEmail([ 'Destination' => [ 'ToAddresses' => $recipient_emails, ], 'ReplyToAddresses' => [$sender_email], 'Source' => $sender_email, 'Message' => [ 'Body' => [ 'Html' => [ 'Charset' => $char_set, 'Data' => $html_body, ], 'Text' => [ 'Charset' => $char_set, 'Data' => $plaintext_body, ], ], 'Subject' => [ 'Charset' => $char_set, 'Data' => $subject, ], ], // If you aren't using a configuration set, comment or delete the // following line 'ConfigurationSetName' => $configuration_set, ]); $messageId = $result['MessageId']; echo("Email sent! Message ID: $messageId"."\n"); } catch (AwsException $e) { // output error message if fails echo $e->getMessage(); echo("The email was not sent. Error message: ".$e->getAwsErrorMessage()."\n"); echo "\n"; } -
amazon-ses-sample.php
で、以下を独自の値に置き換えます。-
path_to_sdk_inclusion
— をプログラム AWS SDK for PHP に含めるために必要なパスに置き換えます。詳細については、「AWS SDK for PHP ドキュメント」を参照してください。 -
sender@example.com
— Amazon で検証した E メールアドレスに置き換えますSES。詳細については、「検証済みID」を参照してください。Amazon の E メールアドレスSESでは、大文字と小文字が区別されます。検証したアドレスと完全に一致するアドレスを入力してください。 -
recipient1@example.com
、recipient2@example.com
- 受信者のアドレスに置き換えます。アカウントがサンドボックスにまだある場合は、受取人のアドレスも確認済みである必要があります。詳細については、「本番稼働アクセスのリクエスト (Amazon SESサンドボックスからの移動)」を参照してください。検証したアドレスと完全に一致するアドレスを入力してください。 -
(オプション)
ConfigSet
— この E メールを送信する際に設定セットを使用する場合、この値を設定セットの名前で置き換えます。設定セットの詳細については、Amazon での設定セットの使用 SESを参照ください。 -
(オプション)
us-west-2
— 米国西部 (オレゴン) 以外のリージョンSESで Amazon を使用する場合は、これを使用するリージョンに置き換えます。Amazon が利用可能なリージョンのリストSESについては、「」の「Amazon Simple Email Service (Amazon SES)」を参照してくださいAWS 全般のリファレンス。
-
-
amazon-ses-sample.php
を保存します。 -
プログラムを実行するには、
amazon-ses-sample.php
と同じディレクトリでコマンドプロンプトを開き、次のコマンドを入力します。$
php amazon-ses-sample.php
-
出力を確認します。E メールが正常に送信されると、コンソールに "
Email sent!
" が表示されます。送信に失敗すると、エラーメッセージが表示されます。注記
プログラムの実行時に「cURL エラー 60: SSL証明書の問題」エラーが発生した場合は、AWS SDK for PHP ドキュメント「」の説明に従って最新の CA バンドルをダウンロードします。次に、
amazon-ses-sample.php
で、SesClient::factory
配列に以下の行を追加し、ダウンロードした CA バンドルのパスでpath_of_certs
を置き換えて、プログラムを再実行します。'http' => [ 'verify' => 'path_of_certs\ca-bundle.crt' ]
-
受信者のアドレスの E メールクライアントにサインインします。送信した E メールメッセージを確認します。
-
- Ruby
-
このトピックでは、 AWS SDK for Ruby
を使用して Amazon 経由で E メールを送信する方法について説明しますSES。 開始する前に、次のタスクを実行します。
-
Ruby のインストール — Ruby は https://www.ruby-lang.org/en/downloads/
で入手できます。このチュートリアルのコードは Ruby 1.9.3 でテスト済みです。Ruby をインストールした後、コマンドプロンプトから Ruby を実行できるように環境変数に Ruby のパスを追加します。 -
のインストール AWS SDK for Ruby — ダウンロードとインストールの手順については、AWS SDK for Ruby 「 デベロッパーガイド」の「 AWS SDK for Rubyのインストール」を参照してください。このチュートリアルのサンプルコードは AWS SDK for Rubyバージョン 2.9.36 でテスト済みです。
-
共有認証情報ファイルの作成 — このセクションのサンプルコードが正常に機能するためには、共有認証情報ファイルを作成する必要があります。詳細については、「SES を使用して Amazon 経由で E メールを送信するときに使用する共有認証情報ファイルの作成 AWS SDK」を参照してください。
SES を使用して Amazon 経由で E メールを送信するには AWS SDK for Ruby
-
テキストエディタで
amazon-ses-sample.rb
という名前のファイルを作成します。ファイルに次のコードを貼り付けます。require 'aws-sdk' # Replace sender@example.com with your "From" address. # This address must be verified with Amazon SES. sender = "
sender@example.com
" # Replace recipient@example.com with a "To" address. If your account # is still in the sandbox, this address must be verified. recipient = "recipient@example.com
" # Specify a configuration set. If you do not want to use a configuration # set, comment the following variable and the # configuration_set_name: configsetname argument below. configsetname = "ConfigSet
" # Replace us-west-2 with the AWS Region you're using for Amazon SES. awsregion = "us-west-2
" # The subject line for the email. subject = "Amazon SES test (AWS SDK for Ruby)" # The HTML body of the email. htmlbody = '<h1>Amazon SES test (AWS SDK for Ruby)</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-ruby/">'\ 'AWS SDK for Ruby</a>.' # The email body for recipients with non-HTML email clients. textbody = "This email was sent with Amazon SES using the AWS SDK for Ruby." # Specify the text encoding scheme. encoding = "UTF-8" # Create a new SES resource and specify a region ses = Aws::SES::Client.new(region: awsregion) # Try to send the email. begin # Provide the contents of the email. resp = ses.send_email({ destination: { to_addresses: [ recipient, ], }, message: { body: { html: { charset: encoding, data: htmlbody, }, text: { charset: encoding, data: textbody, }, }, subject: { charset: encoding, data: subject, }, }, source: sender, # Comment or remove the following line if you are not using # a configuration set configuration_set_name: configsetname, }) puts "Email sent!" # If something goes wrong, display an error message. rescue Aws::SES::Errors::ServiceError => error puts "Email not sent. Error message: #{error}" end -
amazon-ses-sample.rb
で、以下を独自の値に置き換えます。-
sender@example.com
— Amazon で検証した E メールアドレスに置き換えますSES。詳細については、「検証済みID」を参照してください。Amazon の E メールアドレスSESでは、大文字と小文字が区別されます。検証したアドレスと完全に一致するアドレスを入力してください。 -
recipient@example.com
— 受信者のアドレスに置き換えます。アカウントがサンドボックスにまだある場合は、このアドレスを使用前に確認する必要があります。詳細については、「本番稼働アクセスのリクエスト (Amazon SESサンドボックスからの移動)」を参照してください。検証したアドレスと完全に一致するアドレスを入力してください。 -
(オプション)
us-west-2
— 米国西部 (オレゴン) 以外のリージョンSESで Amazon を使用する場合は、これを使用するリージョンに置き換えます。Amazon が利用可能なリージョンのリストSESについては、「」の「Amazon Simple Email Service (Amazon SES)」を参照してくださいAWS 全般のリファレンス。
-
-
amazon-ses-sample.rb
を保存します。 -
プログラムを実行するには、
amazon-ses-sample.rb
と同じディレクトリでコマンドプロンプトを開き、ruby amazon-ses-sample.rb と入力します -
出力を確認します。E メールが正常に送信されると、コンソールに "
Email sent!
" が表示されます。送信に失敗すると、エラーメッセージが表示されます。 -
受信者のアドレスの E メールクライアントにサインインします。送信した E メールメッセージを確認します。
-
- Python
-
このトピックでは、 AWS SDK for Python (Boto)
を使用して Amazon 経由で E メールを送信する方法について説明しますSES。 開始する前に、次のタスクを実行します。
-
Amazon で E メールアドレスを確認する SES— Amazon で E メールを送信する前にSES、送信者の E メールアドレスを所有していることを確認する必要があります。アカウントがまだ Amazon SESサンドボックスにある場合は、受信者の E メールアドレスも確認する必要があります。Amazon SESコンソールを使用して E メールアドレスを確認することをお勧めします。詳細については、「Eメールアドレス ID の作成」を参照してください。
-
認証情報の取得 AWS — SESを使用して Amazon にアクセスするには、 AWS アクセスキー ID と AWS シークレットアクセスキーが必要ですSDK。認証情報を取得するには、 AWS Management Consoleの「セキュリティの認証情報
」のページを参照してください。認証情報の詳細については、「Amazon SES 認証情報の種類」を参照してください。 -
Python のインストール — Python は https://www.python.org/downloads/
で入手できます。このチュートリアルのコードは Python 2.7.6 および Python 3.6.1 でテスト済みです。Python をインストールした後、コマンドプロンプトから Python を実行できるように環境変数に Python のパスを追加します。 -
のインストール AWS SDK for Python (Boto) — ダウンロードとインストールの手順については、 のAWS SDK for Python (Boto) ドキュメント
を参照してください。このチュートリアルのサンプルコードは、 SDK for Python のバージョン 1.4.4 を使用してテストされました。
SDK for Python SESを使用して Amazon 経由で E メールを送信するには
-
テキストエディタで
amazon-ses-sample.py
という名前のファイルを作成します。ファイルに次のコードを貼り付けます。import boto3 from botocore.exceptions import ClientError # Replace sender@example.com with your "From" address. # This address must be verified with Amazon SES. SENDER = "
Sender Name <sender@example.com>
" # Replace recipient@example.com with a "To" address. If your account # is still in the sandbox, this address must be verified. RECIPIENT = "recipient@example.com
" # Specify a configuration set. If you do not want to use a configuration # set, comment the following variable, and the # ConfigurationSetName=CONFIGURATION_SET argument below. CONFIGURATION_SET = "ConfigSet
" # If necessary, replace us-west-2 with the AWS Region you're using for Amazon SES. AWS_REGION = "us-west-2
" # The subject line for the email. SUBJECT = "Amazon SES Test (SDK for Python)" # The email body for recipients with non-HTML email clients. BODY_TEXT = ("Amazon SES Test (Python)\r\n" "This email was sent with Amazon SES using the " "AWS SDK for Python (Boto)." ) # The HTML body of the email. BODY_HTML = """<html> <head></head> <body> <h1>Amazon SES Test (SDK for Python)</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-python/'> AWS SDK for Python (Boto)</a>.</p> </body> </html> """ # The character encoding for the email. CHARSET = "UTF-8" # Create a new SES resource and specify a region. client = boto3.client('ses',region_name=AWS_REGION) # Try to send the email. try: #Provide the contents of the email. response = client.send_email( Destination={ 'ToAddresses': [ RECIPIENT, ], }, Message={ 'Body': { 'Html': { 'Charset': CHARSET, 'Data': BODY_HTML, }, 'Text': { 'Charset': CHARSET, 'Data': BODY_TEXT, }, }, 'Subject': { 'Charset': CHARSET, 'Data': SUBJECT, }, }, Source=SENDER, # If you are not using a configuration set, comment or delete the # following line ConfigurationSetName=CONFIGURATION_SET, ) # Display an error if something goes wrong. except ClientError as e: print(e.response['Error']['Message']) else: print("Email sent! Message ID:"), print(response['MessageId']) -
amazon-ses-sample.py
で、以下を独自の値に置き換えます。-
sender@example.com
— Amazon で検証した E メールアドレスに置き換えますSES。詳細については、「検証済みID」を参照してください。Amazon の E メールアドレスSESは大文字と小文字が区別されます。検証したアドレスと完全に一致するアドレスを入力してください。 -
recipient@example.com
— 受信者のアドレスに置き換えます。アカウントがサンドボックスにまだある場合は、このアドレスを使用前に確認する必要があります。詳細については、「本番稼働アクセスのリクエスト (Amazon SESサンドボックスからの移動)」を参照してください。検証したアドレスと完全に一致するアドレスを入力してください。 -
(オプション)
us-west-2
— 米国西部 (オレゴン) 以外のリージョンSESで Amazon を使用する場合は、これを使用するリージョンに置き換えます。Amazon が利用可能なリージョンのリストSESについては、「」の「Amazon Simple Email Service (Amazon SES)」を参照してくださいAWS 全般のリファレンス。
-
-
amazon-ses-sample.py
を保存します。 -
プログラムを実行するには、
amazon-ses-sample.py
と同じディレクトリでコマンドプロンプトを開き、python amazon-ses-sample.py と入力します。 -
出力を確認します。E メールが正常に送信されると、コンソールに "
Email sent!
" が表示されます。送信に失敗すると、エラーメッセージが表示されます。 -
受信者のアドレスの E メールクライアントにサインインします。送信した E メールメッセージを確認します。
-