ジョートーTechなメモ

サーバとかAWS(Amazon Web Services)関係の設定などをメモ書きしていきます

バウンスメール通知をAmazon SNSで通知

Amazon SESで送信したメールがバウンスを起こした場合にその旨通知されるよう、Amazon SNSを利用して設定します。

まずは、SESで承認済みのメールアドレスのリンクをクリックし、「Notifications」を表示します。
以下の状態ですと、各Notificationが「none」になっているので、何も設定されていない状態です。

f:id:xsato53:20150612141207j:plain

 

「Edit Configuration」ボタンを押し、「Click here to create a new Amazon SNS topic」をクリックするとTopicを作成することができます。

f:id:xsato53:20150612141251j:plain

Topic Name と Display Name を入力して「Create Topic」を押します。

f:id:xsato53:20150612141746j:plain

 

1つ前の画面に戻りますので、「Bounce」と「Complaints」のところで先程作成したTopicを選択し保存します。
Bounce(バウンス)=宛先不明等でメールが届かない
Complaint(苦情)=受信者からの苦情(迷惑メールの報告等)

f:id:xsato53:20150612141810j:plain


一番始めの画面で作成されたTopicが設定されているのを確認できます。

次に、Amazon SNS に移動します。ここでリージョンを確認間違わないように注意してください。SESと同じリージョンを指定すること。

SNSダッシュボードに先程作成したTopicがあるのが確認できます。このTopicをクリックし、「Create New Subscription」をクリックします。

f:id:xsato53:20150612141844j:plain

 

どのように通知するのかを選択する項目が表示されます。今回はEmailで通知してみたいと思います。
ちなみにHTTPだとスクリプトへのURLを指定しておけば、POSTで結果を通知してくれますので、バウンスの自動処理とか実装するのにいいですね。おいおい実装を検討したいと思います。

f:id:xsato53:20150612141925j:plain

「Subscribe」すると、Endpointで設定したメールアドレス宛てに認証メールが届きますので、これを認証します。

 

認証が済むと、下記画面でリフレッシュすると「PendingConfirmation」からSubscription ID が振られたものに変化します。

f:id:xsato53:20150612141946j:plain

 

最後に、実際にバウンスメールの通知が届くかどうか確認します。
SESに移動して、今回バウンスを設定したメールアドレスにチェックを入れて、「Send a test Email」をクリックすると、テストメールの宛先を入力する欄が表示されます。
テスト用のメールアドレスは以下の Amazon SES Mailbox Simulator を利用すると便利です。

Success : success@simulator.amazonses.com
無事に送信が成功するアドレス

Bounce : bounce@simulator.amazonses.com
宛先不明で戻ってくるアドレス

Out of the Office : ooto@simulator.amazonses.com
宛先のメールボックスには届くが、out-of-the-office(OOTO)で戻ってくるアドレス

Complaint : complaint@simulator.amazonses.com
宛先のメールボックスには届くが、スパムとして報告される挙動を示すアドレス

Address Blacklisted : blacklist@simulator.amazonses.com
SESでブラックリストに登録されているアドレス。

Bounce のアドレス宛てにテストメールを送信すると、きちんと通知が送信されてきました。

 

本エントリは下記の記事が元になっています。

バウンスメール通知をAmazon SNSで通知 | 合同会社ジョートー