「翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。」
AWS SDK for Python (Boto) を使用して E メールを送信する
このトピックでは、AWS SDK for Python (Boto)
このチュートリアルでは、受信を確認できるように自分宛に E メールを送信します。さらに詳しい実験や負荷テストには、Amazon SES メールボックスシミュレーターを使用してください。メールボックスシミュレーターに送信される E メールは、送信クォータに加算されず、バウンス率や苦情率の計算にも含まれません。詳細については、Amazon SES での E メール送信のテスト を参照してください。
Prerequisites
開始する前に、次のタスクを実行します。
-
Amazon SES で E メールアドレスを検証する — Amazon SES で E メールを送信するには、送信者の E メールアドレスを所有していることを検証する必要があります。アカウントが Amazon SES サンドボックスにまだある場合は、受信者の E メールアドレスも検証する必要があります。E メールアドレスを検証する最も簡単な方法は、Amazon SES コンソールを使用することです。詳細については、Amazon SES での E メールアドレスの検証 を参照してください。
-
AWS 認証情報を取得する — SDK を使用して Amazon SES にアクセスするには、AWS アクセスキー ID と AWS シークレットアクセスキーが必要です。認証情報は、AWS マネジメントコンソール の「認証情報
」ページで確認できます。認証情報の詳細については、「種類 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 でテスト済みです。 -
共有認証情報ファイルの作成 — このセクションのサンプルコードが正常に機能するためには、共有認証情報ファイルを作成する必要があります。詳細については、認証情報の共有ファイルの作成 を参照してください。
Procedure
次の手順では、SDK for Python を使用して Amazon SES 経由で E メールを送信する方法を示します。
SDK for Python を使用して Amazon SES 経由で 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 SES で検証した E メールアドレスに置き換えます。詳細については、ID の検証 を参照してください。Amazon SES では、E メールアドレスの大文字と小文字が区別されます。検証したアドレスと完全に一致するアドレスを入力してください。 -
recipient@example.com
— 受取人のアドレスに置き換えます。アカウントがサンドボックスにまだある場合は、このアドレスを使用前に確認する必要があります。詳細については、Amazon SES サンドボックス外への移動 を参照してください。検証したアドレスと完全に一致するアドレスを入力してください。 -
(オプション)
us-west-2
— 米国西部 (オレゴン) 以外のリージョンで Amazon SES を使用する場合は、使用するリージョンに置き換えます。地域のリストについては、 Amazon SES が利用可能です。を参照してください。 Amazon Simple Email Service (Amazon SES) の AWS General Reference.
-
-
保存
amazon-ses-sample.py
. -
プログラムを実行するには、
amazon-ses-sample.py
と同じディレクトリでコマンドプロンプトを開き、python amazon-ses-sample.py と入力します -
出力を確認します。E メールが正常に送信されると、コンソールに "
Email sent!
" が表示されます。送信に失敗すると、エラーメッセージが表示されます。 -
受信者のアドレスの E メールクライアントにサインインします。送信した E メールメッセージを確認します。