Amazon Simple Email Service の使い方


まず、送受信に使うメールアドレスを、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 に入れます。
次の例の場合、[email protected][email protected] は登録しておく必要があります。

event.json
{
    "to_email": "[email protected]",
    "reply": "[email protected]",
    "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