投稿

7月, 2020の投稿を表示しています

AWSのSESでサンクスメール配信のひな形作ってみた

イメージ
諸般の事情でAWSの SES を使わないといけなくなっちゃって、検証がてら いじっていて、結構ややこしかったので備忘録的に手順をまとめておきます。 全体の手順としては以下の様な感じ。SDK組み込んだプログラムからしか SES送信用のAPIを叩けない様に設定しています。 1.SESの設定 2.SNSから呼び出すLambda作成 3.SNSの設定(BOUNCE対応) 4.DynamoDB作成(BOUNCE対応) 5.SESを使うLambdaの作成 6.Cognitoの設定 7.APIGateway設定 8.フロントプログラムの準備 9.SESのBOUNCE設定 ◆作業手順(やや省略) 1.SES設定 先人が色々とまとめてくださっているので割愛、東京で使えるようになったので 東京リージョンで設定したほうが色々と楽です。 注意点としてはsandboxの解除申請を行うこと。これを忘れていると外部にメール 送信できません。 2.SNSから呼び出すLambda作成 BOUNCE時にBOUNCEになったメールアドレスをDynamoDBに登録する Lambdaを準備します。 import datetime import json import os import boto3 BOUNCE_TABLE = os.getenv('TABLE_NAME') dynamodb = boto3.resource('dynamodb') def lambda_handler(event, context): try: table = dynamodb.Table(BOUNCE_TABLE) msg = event['Records'][0]['Sns']['Message'] b = json.loads(msg) bounce_type = b['bounce']['bounceType'] bounce_mail = b['bounce']['bouncedRecipients'][0]['emailAddress']