AWS LambdaからAWS SESで、本文に日本語があるメールを送信できない
解決したいこと
AWS LambdaからAWS SES(simple email service)を使用して、メール送信を行いたいです。
メールの本文に日本語を使用すると、メールが送信されません。
解決方法を教えて下さい。
該当するソースコード
import json
import os
import boto3
SRC_MAIL = os.environ['SRC_MAIL'] # Formメールアドレス
DST_MAIL = os.environ['DST_MAIL'] # Toメールアドレス
REGION = "ap-northeast-1"
CHARSET = 'UTF-8'
def send_email(source, to, subject, body):
client = boto3.client('ses', region_name=REGION)
response = client.send_email(
Source=source,
Destination={
'ToAddresses': [
to,
]
},
Message={
'Subject': {
'Data': subject,
'Charset': CHARSET,
},
'Body': {
'Text': {
'Data': body,
'Charset': CHARSET,
},
}
}
)
return response
def lambda_handler(event, context):
email_subject = "件名"
email_message = "こんにちは"
r = send_email(SRC_MAIL, DST_MAIL, email_subject, email_message)
return r
自分で試したこと
-
件名は日本語でも問題なく送信できます
-
メールの本文を英文字にすると問題なく送付することができます
email_message = "hello"
-
文字コードを指定しても送信できませんでした
'Charset': 'UTF-8',
0