まず、送受信に使うメールアドレスを、SES Home の Email Addresses で登録します。
テストメールを送って Status を verified にします。
東京リージョンでは、SES は使えません。
私は、オレゴンリージョンを使いました。
送信のプログラムです。
ses_send.py
#! /usr/bin/python3
# -*- coding: utf-8 -*-
#
# ses_send.py
#
# Oct/27/2017
#
# --------------------------------------------------------------------
import boto3
import json
import sys
# --------------------------------------------------------------------
def send_email(to_email, reply, subject, body):
sys.stderr.write("*** send_email *** start ***\n")
#
client = boto3.client('ses', region_name='us-west-2')
#
response = client.send_email(
Source=reply,
Destination={ 'ToAddresses': [ to_email, ] },
Message={
'Subject': {'Data': subject, },
'Body': { 'Text': { 'Data': body, }, }
},
ReplyToAddresses=[ reply, ],
ReturnPath=reply
)
#
sys.stderr.write("*** send_email *** end ***\n")
#
# --------------------------------------------------------------------
def ses_send_handler(event, context):
sys.stderr.write("*** ses_send_handler *** start ***\n")
#
to_email = event["to_email"]
reply = event["reply"]
title = event["title"]
message = event["message"]
#
sys.stderr.write("to_email = " + to_email + "\n")
sys.stderr.write("title = " + title + "\n")
sys.stderr.write("message = " + message + "\n")
#
send_email(to_email,reply,title, message)
#
sys.stderr.write("*** ses_send_handler *** end ***\n")
#
# --------------------------------------------------------------------
データは、 event.json に入れます。
次の例の場合、aaaa@example.com とbbbb@example.co.jp は登録しておく必要があります。
event.json
{
"to_email": "aaaa@example.com",
"reply": "bbbb@example.co.jp",
"title": "Good Evening PM 17:26",
"message": "Hello Everybody\nこんにちは\nこれはevent.json\nPM 17:26\n"
}
実行コマンドです。
python-lambda-local -f ses_send_handler ses_send.py event.json