AWS

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

手順概要

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

手順詳細

Rule Setの作成

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

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

image.png

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

image.png

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

image.png

Ruleの作成

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

image.png

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

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

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

image.png

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

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

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

image.png

S3のアクションの指定

image.png

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

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

Rule詳細の設定

image.png

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

Rule Setの有効化

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

image.png

メール受信の確認

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

image.png

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

image.png