Posted at

AWS SESでメールを受信してS3へ保管してみる

More than 1 year has passed since last update.

「メールを受信したら何かしら処理をする」をやってみたくて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



mail.hoge.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へ保管されました。