LoginSignup
70
81

More than 5 years have passed since last update.

AWS SESの通知(バウンス、苦情、配信)を自動で取得し、保存

Posted at

SESの通知管理の重要性

AWS SESの通知には、バウンス、苦情、配信がありますが、
これらの中でも、一番重要なのは、バウンスではないかと思われます。
AWS SESのハードバウンスに対する対応は、なかなか辛辣です。

一度ハードバウンスが返却されれば、
Suppression Listにメールアドレスが登録されます。
AWSのコンソールでSuppression Listからメールアドレスを削除しなければ、
その宛先に対し、最大2週間メール送信することができなくなります。

また、送信メールのバウンス率が高くなると、
SESのサービスそのものを止められてしまいます。

こういったリスクを最小限に止めるためにも、
バウンスの管理は非常に重要と言えます。
また、本来、バウンスと苦情を管理できなければ、
サンドボックス制限を解除してはいけません。

通知の受け取り方

管理については、以下のドキュメントに記載されています。
https://docs.aws.amazon.com/ja_jp/ses/latest/DeveloperGuide/notifications-via-email.html

ドキュメントにある通り、バウンスの通知を受け取る方法には、
大きく分けて2通りあります。
SESから直接Eメールで通知を受け取る方法と、
AWS SNS経由で、他のサービスと連携する方法です。

Eメールでの通知のみであれば、SESのコンソール画面だけで設定を完了できます。
https://docs.aws.amazon.com/ja_jp/ses/latest/DeveloperGuide/notifications-via-email.html
しかし、自社のDBにバウンスを保存するといった場合には、SNSを利用する方が容易です。

利用サービス

ここでは、定期処理でバウンスを取得する場合でのAWSの設定を解説します。

SESの他に、下記のサービスを利用します。

SNS

SESから通知を受け取り、SQSにバウンスの通知内容を送信

SQS

SNSから通知を受け取り、外部から通知内容を取り出し可能に

手順

SNSに、SESからのバウンスを受け取るためのトピックを作成します。

SNSトピック作成

SNS Homeから、Create Topicを選択します。
name, Display nameは分かりやすい名前をつけます。

SES通知設定

受け取りたい通知の対象に応じ、
DomainsかEmail Addressを選択します。
遷移後、通知対象のURLをクリックします。
Notificationを選択し、続いて、Edit Configurationを選択します。
ダイアログ中の、SNS Topic ConfigurationのBouncesで、
先ほど作成したSNSトピックを選択します。

残りの手順(SNSから、SQSにメッセージを送信する設定)

ここまでの手順で、SESからSNSに対して通知が送信されるはずです。
SNSからSQSにメッセージを送信する方法は、
下記のドキュメントを参照してください。
http://docs.aws.amazon.com/ja_jp/sns/latest/dg/SendMessageToSQS.html

以上の作業で、SQSにメッセージが蓄積されるはずです。
あとは、定期処理でSQSからメッセージを取得し、
DBで保存すれば、自前の環境でバウンスの一覧を参照できるようになります。

今回はバウンスで解説しましたが、
他の通知に関しても同様の方法で通知を取得可能です。

注意

バウンスのテストをする時には、
テスト用のメールアドレスを利用するようにしてください。
そうしなければ、バウンス率が上がってしまいまい、
最悪、SESサービスが利用できなくなります。
テスト用のメールアドレスは、下記のドキュメントに記載されています。
https://docs.aws.amazon.com/ja_jp/ses/latest/DeveloperGuide/mailbox-simulator.html

70
81
0

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
70
81