SESでメールを受信してS3バケットに保管する


手順概要

SESを使ってS3のバケットに受信メールを保管するまでの手順を整理する。

手順詳細

Rule Setの作成

SESのホーム画面で、Email ReceivingからRule Setsを選択する。

Create a New Rule Setをクリックする。

Rule setの名前(Rule set name、ここではtest-rulesetを指定する)を記述し、Create a Rule Setボタンをクリックする。

この時点では作成したRule set(test-ruleset)は有効化されず、
Inactive Rule Setsとして作成される(あとで有効化する)。
test-rulesetリンクを選択してRuleの作成に進む。

Ruleの作成

Create Ruleボタンをクリックする。

Ruleを適用する受信先メールアドレスの設定

Recipients(受信先メールアドレス)を指定する。
特に指定しない場合は、受信可能な全てのメールアドレスを対象としたルールになる。

受信先メールアドレスを記載したあと、Add RecipientボタンをクリックしてRuleを適用するアドレスを指定する。

指定が終わったら、画面右下の Next Step ボタンをクリックする。

メール受信時アクションの設定

メールを受信した際にどのようなアクションを実行するのかを指定する。
メールをBounceさせたり、特定のLambdaを実行させたりといったことも可能。
今回はS3を選択して、特定のバケットにメールを保管する
(複数のアクションを指定することももちろん可能)

S3のアクションの指定

  1. 保管先とするS3バケットを指定する
  2. S3バケットにメールが保管された際の通知先SNSトピックを指定する(オプション)

ここまで完了したら、画面右下の Next Stepボタンをクリックして、
次のステップ(Rule詳細の設定)に進む。

Rule詳細の設定

  1. Ruleの名前を指定する
  2. Ruleを所属させるRule setの名前を指定する
  3. Rule適用の順番を指定する(直前のRuleをどこにするかを記述)
    • この場合は、単一のルールしか設定していないので<Beginning>を指定して、最初に評価・適用されるRuleとする。

Rule Setの有効化

先ほど作成したRule set(test-ruleset)を選択して、
Set as Active Rule Setボタンをクリックする。

メール受信の確認

対象となるドメインのメールアドレスにメールを送信する。
(Ruleの対象となる受信先アドレスを指定している場合はそのメールアドレスに送信する)

下図のように指定したS3バケットにメールが届いていれば受信できている。
(MIME形式なので、対応したアプリケーションでの読み込みが必要)