はじめに
AmazonSESでEメールを受信する設定の続き
- メール受信時にLambdaを起動してメール転送する関数を指定する
- ルールの名前を任意なものを入力して「Next Step」ボタンをクリックする
- 設定内容確認画面が表示される。問題がなければ「Create Rule」ボタンをクリックする
- Lamdaの作成した関数に権限が足りないというエラーがメッセージが表示される
Lamda関数を実行する権限を付与する
- 「AWSLambdaExecute」を追加すると、上記のエラーは解消されて登録される
- 登録完了
送信テスト
- Lambdaの関数にログを仕込み。メール受信時にどのような情報が取得できるか確認する。
import boto3
import json
import logging
logger = logging.getLogger()
logger.setLevel(logging.INFO)
def send_email
※前回と同様のため、省略
def lambda_handler(event, context):
logger.info(event)
email = "error occured"
message = json.dumps(event, indent = 4)
r = send_email(SRC_MAIL, DST_MAIL, email, message)
return r
- CloudWatchでログを確認するとメールの内容を確認することができるが、メールの本文やメールの添付ファイルを取得して転送するのに、いろいろと工夫が必要そうなので、メールの内容をS3に保存して保存した内容をメールで転送するように変更する