「メールを受信したら何かしら処理をする」をやってみたくてAWS SESを触ってみました。
AWS SESとは
Simple Email Serviceの略で、Eメールを受信したり送信したりするAWSのサービスです。
また、受信したメールをルール分けしてS3に保管したり、AWS SNSに通知したりも可能です。
今回はひとまずメールを受信してS3へ保管したいと思います。
AWS SES利用開始
残念ながら東京リージョンはまだダメらしい。(対応されるのだろうか)
MXレコードの追加
今回はRoute53にドメインを登録して受信します。
私の場合すでにRoute53にドメインを登録しているので、サブドメインとしてMXレコードを追加し、そこにメールが来たらS3へ保管します。
10 inbound-smtp.us-west-2.amazonaws.com
オレゴンに設置予定なのでus-west-2にしていますが、向き先は必要に応じて変更してください。
SESへのドメインの設定
SESでメールを受信するためにドメインを設定していきます。
先ほどRoute53でMXレコードを作ったので、Use Route 53を選びます。
Rule Setsの設定
メールを受信した際にどのような挙動を取るかをRuleとして設定し、それらを束ねたものがRule Setsになります。
また、Ruleの中にはActionを複数セットすることが可能です。
Actionとは、実際に何を行うかという設定で、Lambdaを動かしたり、S3にアップロードなどいくつかあります。
今回はS3へ保管しますが、LambdaやSNSなど、AWSの他のサービスへ流すことも可能です。
テスト受信
該当のメールアドレスへメールを送信してみると・・・・
無事S3へ保管されました。