ヤマムギ

growing hard days.

*

Amazon SES(Simple Email Service)でメール受信時のアクションでLambdaを実行して渡されるデータを見てみる

   


Amazon SESで受信したメールをS3に保存して、S3のトリガーでLambdaを実行して転送処理を書くのがよくあるケースのようですが、受信ルールのアクションでもLambdaを実行出来るので、その場合どのようなデータがLambdaに渡されているのかを見てみました。
あわよくば、S3からではなく、SESから渡されたデータをもとに転送出来たら処理がシンプルかなと思いまして。

テスト用のLambda関数を作成

ランタイムはPython3.6です。
テスト用なのでeventの内容をログに出すだけです。
SESと同じリージョンにLambda関数を作成する必要があります。

SESの受信ルール設定

SESにドメインは登録されている前提で進めます。

新しいルールを作成します。
今回はRecipientsは設定せずに進めてみます。
ルールをドメインやアカウントに限定する場合は設定するべきです。

ActionでLambda Functionを選択します。

Rule Detailsはデフォルトのままにしました。

確認画面です。
作成します。

テストメールを送信してみる

SESに登録済のドメインの適当なアカウント宛にGmailからメールを送信してLambdaのログを確認してみました。

このようなデータが渡っていました。

本文以外の情報は渡っていそうです。

転送ではなく、メールの送信元によって処理をしたり、単純ではない処理をするときに使用するケースが考えられるのかなと思いました。

転送にはWorkMailを使用するかS3にデータを格納してそれを解析して転送するか、かなと思いますので、またそれは別途試してみたいと思います。

S3にIMAPプロトコルでアクセス、とか出来るようになると嬉しいなと思ったり。

@yamamanx

開発ベンダー5年、ユーザ企業システム部門通算9年、ITトレーナー1年目のSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。

このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。

また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。

 - AWS ,

ad

ad

  関連記事

API GatewayのアクセスログをCloudWatchに記録する

Amazon API GatewayのアクセスログをCloudWatchに記録で …

webフォームからの問い合わせをRedmineに自動登録して対応状況を管理する(API Gateway + Lambda)

先日、検証目的で作成したRedmineの冗長化の一機能として、webフォームから …

EC2 Auto Recovery機能を設定しておいた

以前EC2インスタンスのリタイア対象になったこともあり、というより、やっておいて …

Developers Summit 2018 「AWSのフルマネージドな環境でCI/CDをやってみよう!AWS Cloud9からAWS Fargateへの継続的デプロイをご紹介」を聞きました

※写真は展示のAmazon Echoです。 以下は、思ったことや気になったことを …

再会の日 ~re:Union 2018 Osaka by JAWS-UG~

8/5は大阪でre:Unionでした。 「再会」と名うったこのイベントは、6月に …

JAWS DAYS 2018 「Cost-Driven AWS クラウドアーキテクチャデザインとコスト最適化方法 – Cost-Driven AWS Cloud Architecture Design : The Lean Startup on AWS」を聞きました

以下は、思ったことや気になったことをメモしていますので、必ずしも登壇者の発表内容 …

Amazon EC2(Amazon Linux 2)にRedmine3.4をインストール

久しぶりに新しい環境でRedmineを構築したくなり、せっかくなのでAmazon …

AWS Summit 2017 Tokyo Day2 開場~基調講演

昨年に引き続き今年もAWS Summit Tokyoへ行ってきました。 朝一の新 …

slackのbotに天気を教えてもらう(Python on AWS Lambda + API Gateway)

slackのbotにAPIの定番ともいえる天気情報を教えてもらいました。 環境は …

kintoneで設定したスケジュールにあわせてlambda(python)からSQSへメッセージを送る

EC2の起動停止をそろそろ手動でやるのも疲れてきそうなのと、やはり停止するのを忘 …