ヤマムギ

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


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

【PR】 「AWS認定試験対策 AWS クラウドプラクティショナー」という本を書きました。

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

【PR】 「ポケットスタディ AWS認定 デベロッパー - アソシエイト」という本を書きました。

 - AWS ,

ad

ad

  関連記事

RDSの拡張モニタリングを有効にしました

RDS for MySQLです。 変更メニューで、[拡張モニタリングを有効にする …

ParquetフォーマットのデータにS3 Select SQLを実行する

RDSスナップショットのS3エクスポート結果確認で出力したデータが、S3にPar …

CloudWatch LogsメトリクスフィルタでNginxのaccess_logから転送バイト数をモニタリングする

ユーザーガイドのApache ログからのフィールドの抽出を見てて、これ、Ngin …

AWS Code Commitをプライベートリポジトリとして使う

GitHubでもいいんですが、アクセスキーとかパスワードとかコンフィグ系で書いて …

RDS for MySQL のインスタンスタイプ変更

当ブログのデータベースは、RDS for MySQLです。 個人利用ですし、障害 …

別アカウントのVPCからAWS PrivateLinkを使う

やったことないのでやってみるシリーズです。 VPC エンドポイントサービス (A …

「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー」執筆裏話

今日2019/4/20発売となりました「AWS認定資格試験テキスト AWS認定ク …

Amazon Elasticsearch ServiceにMySQLのデータを投入してkibanaで可視化してみる

MySQLのデータの可視化にAmazon Elasticsearch Servi …

東京リージョンの1つのAZ(apne1-az2)でt3.nanoスポットインスタンスが拒否されちゃいました

拒否されちゃいました ちょっとした検証をしようとしてて、t3.nanoのスポット …

試したい事があるのでAWS でとりあえずAmazon Linuxのサーバを作る

1年間の無料キャンペーン期間中に検証する とある勉強会でせっかくAWSのアカウン …