SES(SimpleEmailService)のAPIを使って、メールの一括送信を行う。
利点
- API呼び出しが回数を減らせる
注意点
やりかた
- メールのテンプレートを作成する
E メールテンプレートの管理 - Amazon Simple Email Service
- メール送信先毎に、BulkEmailEntryを作成する
// 宛先 Destination dest = Destination.builder() .toAddresses(/** 送信先 */) .build(); // テンプレート(置き換え内容) ReplacementTemplate template = ReplacementTemplate.builder() .replacementTemplateData(/** JSONをStringにしたもの */) .build(); // コンテンツ ReplacementEmailContent content = ReplacementEmailContent.builder() .replacementTemplate(template) .build(); // メール本体 BulkEmailEntry entry = BulkEmailEntry.builder() .destination(dest) .replacementEmailContent(content) .build();
- 使用するテンプレートを指定
Template template = Template.builder() .templateName(/** テンプレートの名前 */) .templateData(/** BulkMailEntryのReplacementTemplateが設定されていなかった場合のReplacementTemplateData */) .build(); BulkEmailContent content = BulkEmailContent.builder() template(template) .build();
- 50件毎に送信処理を行う
SendBulkEmailRequest bulkEmailRequest = SendBulkEmailRequest.builder() .bulkEmailEntries(/** BulkEmailEntryの実体 */) .defaultContent(/** BulkEmailContentの実体 */) .configurationSetName(/** SESに設定している送信設定の名前 */) .fromEmailAddress(/** fromアドレス */) .replyToAddresses(/** replyToアドレス */) .build(); SesV2Client sesv2Client = SesV2Client.builder() .region(Region.US_EAST_1) .build(); // 送信実行 SendBulkEmailResponse res = sesv2Client.sendBulkEmail(bulkEmailRequest);