サービスからメール送信をする際に、AWS の SES (Simple Email Service) を利用することはよくあると思うのですが、手動でメールを送信しようとするとコマンドで行う必要があるので、備忘録として残しておきます。
前提として、AWS の CLI が使える状態になっているものとします。
環境未作成の場合は 公式サイト などを見て使える状態にしておいてください。
まず、メールのテンプレートを作成します。
{
"Template": {
"TemplateName": "TestTemplete",
"SubjectPart": "サービスについてのお知らせ",
"HtmlPart": "<p>これはHTMLの本文です。</p>",
"TextPart": "これはテキストの本文です。"
}
}
次に送信設定を作成します。
{
"Source":"no-reply@*****.co.jp",
"Template":"TestTemplete",
"Destinations":[
{
"Destination":{
"ToAddresses":[
"sato@*****.co.jp"
]
},
"ReplacementTemplateData":"{}"
},
{
"Destination":{
"ToAddresses":[
"suzuki@*****.co.jp"
]
},
"ReplacementTemplateData":"{}"
}
],
"DefaultTemplateData":"{}"
}
ToAddresses の部分に送信先を書いてください。
ちなみにテンプレートの特定の識別子を置換することもできますが、今回は割愛します。
あとはコマンドでこれらのファイルを SES 側に送信するだけです。
テンプレートの登録。
(us-west-2 の部分は適宜使用しているリージョンに変更してください)
% aws ses create-template --cli-input-json file://TestTemplete.json --region us-west-2
AWS の管理コンソールで登録できているか確認。

ちなみにテンプレートは同名のものは登録できないので、既存のものを修正する場合は create-template ではなく update-template コマンドを使用します。
送信設定。
% aws ses send-bulk-templated-email --cli-input-json file://MailData.json --region us-west-2
これでメールが送信されます。
私が試したときは、即座にメールが送信されていました。
投稿者プロフィール

最新の投稿
テクノロジー・専門技術2022年6月27日【iOS】ARケチャマヨバトルをアップデートしたときにやったこと
技術・開発情報2021年6月22日UIKit(Storyboard)で時間が止まってる人向けのiOS開発リハビリメニュー
技術・開発情報2020年10月8日AWSのSESを利用して手動でメールを送信する
技術・開発情報2020年9月8日SwiftUIのすすめ – 2. リスト表示 –