前提
AWS LambdaからAWS SES(simple email service)を使用して、メール送信を行いたいです。
メールの本文に日本語を使用すると、メールが送信されません。
実現したいこと
本文で日本語を使用して、SESからメールを送信したい。
該当のソースコード
python3.9
1import json 2import os 3import boto3 4 5SRC_MAIL = os.environ['SRC_MAIL'] # Formメールアドレス 6DST_MAIL = os.environ['DST_MAIL'] # Toメールアドレス 7REGION = "ap-northeast-1" 8CHARSET = 'UTF-8' 9 10def send_email(source, to, subject, body): 11 client = boto3.client('ses', region_name=REGION) 12 13 response = client.send_email( 14 Source=source, 15 Destination={ 16 'ToAddresses': [ 17 to, 18 ] 19 }, 20 Message={ 21 'Subject': { 22 'Data': subject, 23 'Charset': CHARSET, 24 }, 25 'Body': { 26 'Text': { 27 'Data': body, 28 'Charset': CHARSET, 29 }, 30 } 31 } 32 ) 33 34 return response 35 36def lambda_handler(event, context): 37 email_subject = "件名" 38 email_message = "こんにちは" 39 r = send_email(SRC_MAIL, DST_MAIL, email_subject, email_message) 40 return r
試したこと
-
件名は日本語でも問題なく送信できます
-
メールの本文を英文字にすると問題なく送付することができます
email_message = "hello"
- 文字コードを指定しても送信できませんでした
'Charset': 'UTF-8',
