何が起きたか
- Webサービスを運用しており、AWSのSES(Simple Email Service)を使用している。
- テストのため、人物データの更新を頻繁に行った。
→ 特定のデータを保存したときに、人物が保持するEmailアドレスに、メールが自動で飛ぶような仕組みになっている。
→ テスト用のデータなので、すべてのデータは1@testabcabctest.testのような存在しないアドレスに書き換えていた。 - 「Amazonから、バウンスレートが上がっているぞと警告のメールが来た」と、お客様から連絡を受ける。
バウンスレートとは、存在しないアドレスに対してSESを使ってメールを送信していると上がっていくスコアのようなもの。
https://docs.aws.amazon.com/ja_jp/ses/latest/DeveloperGuide/e-faq.html#e-faq-bn - しかも英語で書かれてるからよくわからんとのことで、AWSから来た警告メールを私に転送してくれた。
- このまま放置してるとサービスが使えなくなるとの情報があり、恐れおののく。
どう対処したか
- メールボックスシミュレーターを使用した。
- メールボックスシミュレーターとは、いくら送信してもバウンスレートが上がらない仕組み(メールアドレス)の事。
https://docs.aws.amazon.com/ja_jp/ses/latest/DeveloperGuide/mailbox-simulator.html - つまり、送信先のメールアドレスをsuccess@simulator.amazonses.comに書き換えてしまえば、バウンスレートが上がらなくなる。
- しかし、私がメンテしている環境では、テーブルのemail列にユニーク制約が貼られているため、全部同じEmailアドレスにすることはできない。
- そこで、ラベリングという仕組みを使い、一意性を確保した。
こんな感じ。
success+1@simulator.amazonses.com
success+2@simulator.amazonses.com
その他感想など
AWSの日本法人がいい感じ。
自動で送られてきたのであろうバウンスレート上昇警告メールのあと、AWSの日本法人からメールで連絡があり、「メールボックスシミュレーターを使えば解決するかもしれないから検討してほしい」との助言をもらった。
AWSの機能はとても把握できないほどに多いので、具体的なアドバイスは非常に助かる。