📧
SESとLambdaを使ってMarkdownテンプレートを使ったメール配信
概要
- サーバーからメール配信処理を切り出すケースを想定
- EC2 -> SQSキュー -> Lambda -> SES で呼び出せるようにする
- メールテンプレートはMarkdownファイルで記述する
- メールテンプレートには簡易的な変数の埋め込みができるようにする
- MarkdownファイルはS3に置く
- スタックはCDKで定義する
構成
準備
- SESの検証済みID(送信元メールアドレス)を事前に登録しておく
サンプルコード
サンプルコードの実行方法などはREADME.mdを参照
工夫した点
- MarkdownファイルのfrontMatterを利用して、メール文面内に埋め込む変数がパラメータとして提供されているか、バリデーションできるようにした
- frontMatterに利用している変数を記述しておくことで、テンプレート内で利用している変数を把握しやすい
- メールテンプレートの保存場所をS3にすることで、メール文面追加とコードのリリースサイクルを分離できる
発展
- SESの送信ログをS3に保存する
- S3のバケットのバージョニングを有効にして、変更履歴を保存する
Discussion