LoginSignup
3

More than 1 year has passed since last update.

SESのバウンス情報をメールで受け取る方法

Posted at

はじめに

AWS SESを使用してメールを配信する際に、何らかの原因により正常に配信できなかったメールをバウンスメールと呼びます。

SESではバウンスメールの発生率が一定の割合を超えると、メール配信機能が停止されるというヤバめの仕様があります。
そのため、SESを利用するエンジニアにとって、バウンスメール対策は気を配らなくてはいけないポイントとなっています。

SESにてバウンスメールが発生した際、マネージメントコンソール上からでは、どのアドレスを宛先としているメールにてバウンスが発生しているかを確かめる術がありません。(2021年7月現在)
バウンスが発生している宛先がわからないとトラブルシュートが進みません。困りました。。

なんと、SNSとSESの標準機能だけを利用して、バウンス対象アドレスが含まれたバウンス情報をメールで受信することが可能です。
この記事では、その手順について記載します。

実現すること

SESとSNSの標準機能のみを使用して、バウンス発生時にバウンス対象アドレスを含むバウンス情報をメールで受け取る

設定手順

SNSトピックの作成

image.png

image.png

上記以外はデフォルトで問題ありません。

SESの設定

"Email Addresses" -> "Verify a New Email Address"から送信元として使用するアドレスを入力します。
image.png

AWSから確認メールが来るので、リンクに飛んでメールアドレスを認証させます。
image.png

image.png

認証したメールアドレスから同一メールアドレスにテストメールを送信します。
image.png

メールが届いたことを確認します。

"Email Addresses" -> "Notifications" -> "Edit Configuration"
Bouncesに作成したSNSトピックを指定します。

image.png

original headerの内容はMailオブジェクトを参照してください

元の E メールヘッダーの内容については、Amazon SNS 通知の内容の mail オブジェクトを参照してください。
https://docs.aws.amazon.com/ja_jp/ses/latest/DeveloperGuide/configure-sns-notifications.html#configure-feedback-notifications-console

SNSにてTopicにサブスクリプションを紐付ける

プロトコルをEメールとして、バウンス情報を送信するメールアドレスをエンドポイントに指定します。
(それ以外はデフォルトでOKです)
image.png

エンドポイントに指定したメールアドレス宛に、確認メールが届くのでリンクに飛んでConfirmします。
image.png

Bounceのテストを実施する

SESからメールアドレスを選択して、Send Test Mailにて以下の通り、bounceテスト用のメールアドレスを指定して、送信します。
image.png

bounceテスト用のメールアドレスについてはこちらを参照

バウンス情報を受信することができました。
image.png

メールの内容を見ると、バウンス対象となっているメールアドレスも表示されています。

参考

https://aws.amazon.com/jp/premiumsupport/knowledge-center/ses-resolve-account-review-pause/
https://docs.aws.amazon.com/ja_jp/ses/latest/DeveloperGuide/notification-contents.html#mail-object
https://docs.aws.amazon.com/ja_jp/ses/latest/DeveloperGuide/send-email-simulator.html
https://docs.aws.amazon.com/ja_jp/ses/latest/DeveloperGuide/sending-email-global-suppression-list.html#sending-email-global-suppression-list-considerations

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3