ヤマムギ

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プロトコルでアクセス、とか出来るようになると嬉しいなと思ったり。


最後までお読みいただきましてありがとうございました!

「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。

「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。

「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。

「AWSではじめるLinux入門ガイド」という本を書きました。

 - AWS ,

ad

ad

  関連記事

boto3(Python SDK) s3 get_object でバイト範囲を指定する

S3のGetObjectアクションでバイト範囲を指定することができます。 それに …

S3イベントのAWS Lambdaのテスト設定

S3イベントのLambda関数でよく使うのはこんなテスト設定です。 なので覚書で …

AWS Toolkit for EclipseからLambda関数を直接作成できずにMavenでパッケージ化して作成

AWS Toolkit for EclipseからLambda関数を直接作成 チ …

ECR(Amazon Elastic Container Registry)にコンテナイメージをアップロードする

「Pandocサーバーのコンテナイメージを作成する」で作成したイメージをAWS …

Amazon LinuxのNginx+RDS MySQLにレンタルWebサーバーからWordPressを移設する(失敗、手戻りそのまま記載版)

勉強のためブログサイトを長らくお世話になったロリポップさんから、AWSに移設する …

ある意味マネジメントコンソールで生成された署名付きURL

マネジメントコンソールにS3オブジェクトの[開く]というボタンがいつのまにか出来 …

Introduction to Amazon EKS Workshopの記録

AWS Workshop StudioのIntroduction to Amaz …

ヤマムギvol.23 Amazon RDS for MySQLとAmazon Aurora Serverlessの起動のデモをしました

ゴールデンウィーク毎朝デモ勉強会は終わったのですが、土曜日にやれるときがあれば、 …

AWSアカウント内のCloudWatchアラームを削除する

やりたいこと 特定アカウント特定リージョン内のCloudWatdchアラームを全 …

AWSアカウントでルートユーザーが使用されたときにTeamsへ投稿する

Organizations組織内のアカウントのいずれかでルートユーザーが使用され …