Amazon SESとは
- Amazonが提供するEメールプラットフォーム
- 従量課金制
手順
- リージョンの選択
- 送信用のメールアドレスを登録する
- 送信制限を解除する
- メール送信処理の実装
リージョンの選択
Amazon SESでは現在以下のリージョンがサポートされています
送信用のメールアドレスを登録する
Amazon SESでは送信用のメールアドレスを検証し、登録する必要があります。
(検証されていないメールアドレスについては使用する事ができません。)
送信制限を解除する
何もしない状態の場合、認証したメールアドレス宛てにしかメールを送信できないかつ送信数が限られているため、制限の解除を行う必要があります。
- SESの[Sending Statistics]タブで[Request a Sending Limit Increase]ボタンをクリック
- Support Centerページに遷移するので、必要情報を入力
メール送信の実装
import boto3
def main():
try:
client = boto3.client(
'ses',
aws_access_key_id={AWS_ACCESS_KEY_ID},
aws_secret_access_key={AWS_SECRET_ACCESS_KEY},
region_name='us-east-1' # 送信用メールアドレスを登録したリージョン
)
client.send_email(
Destination={
'ToAddresses': ['hoge@hoge.com', 'hoge2@hoge.com'],
'BccAddresses': ['hoge_bcc@hoge.com']
},
Message={
'Body': {
'Text': {
'Data': 'メール本文',
'Charset': 'utf-8'
}
},
'Subject': {
'Data': '件名',
'Charset': 'utf-8'
}
},
Source='hoge_from@hoge.com', # 登録済みのメールアドレス
ConfigurationSetName='メール送信者として表示したい名前'
)
except ClientError as e:
print(e.response['Error']['Message'])
else:
print(response['MessageId'])