LoginSignup
3
2

More than 5 years have passed since last update.

AWS SESをLambdaから使う

Posted at

何をするか

  • AWS SESの利用を開始する
  • AWS Lambda(Python)からAWS SESを起動する
  • 5分くらいでできる

AWS SESの利用を開始する

SES ConsoleからEmail Addresses を選択
image.png

Varify a New Email Address を選択
image.png

送信したいアドレスを入力して完了すると、そのアドレスに検証用のURLが送られるので、URLに遷移して検証完了
アドレスを選択して「Send a Test Email」でテストメール送信できる

AWS Lambda(Python)からAWS SESを起動する

以下のLambdaを作成
- ランタイム:Python3.6
- ハンドラ:qiita.lambda_handler
- 実行ロール:AmazonSESFullAccess

qiita.py
import boto3

def ses_send_email(_from, _to, _subject, _body):
    _ses = boto3.client('ses', region_name='us-west-2')
    _response = _ses.send_email(
        Source=_from,
        Destination={'ToAddresses': _to},
        Message={
            'Subject':{
                'Data': _subject,
            },
            'Body': {
                'Text': {
                    'Data': _body,
                },
            }
        }
    )

    return _response

def lambda_handler(event, context):
    _from = 'from@example.com' # fromは予約語で使えない
    _to = ['to@example.com'] #配列
    _subject = 'Subject: 件名'
    _body = 'Body: 本文'
    _response = ses_send_email(_from, _to, _subject, _body)
    return _response

実際のサービスに使うために ※後ほど記事化

  • SESをサンドボックスの外に出す
  • mail送信処理のLambda共通関数化
  • CloudFormation(AWS SAM)化
3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2