Для своего приложения я пишу лямбда-функцию в python для отправки электронной почты из AWS SES.
К этому письму я пытаюсь прикрепить встроенное изображение, это изображение, которое я загружаю из корзины s3 в Lambdatmp файл, и я добавляю его в тело SES, используя «html content like ("<img src='/tmp/Marketing6.png' alt= 'image not found'/>
») »для этого конкретного изображения.
Вот код для загрузки изображения из корзины S3 в Lambda tmp:
fileName =None
s3 = boto3.resource('s3')
bucket =s3.Bucket('examplebucket')
for obj in bucket.objects.all():
photoFileNameData = obj.key
fileName = str(base64.b64encode(obj.get()['Body'].read()))
fileName = fileName[2:-1]
print(fileName)
photoDatainBytes = bytes(fileName, 'utf-8')
with open('/tmp/Marketing6.png ', "wb") as fh:
fh.write(base64.decodebytes(photoDatainBytes))
data = open('/tmp/Marketing6.png ', 'rb')
print(data)
основной текст, который я дал:
BODY_TEXT = ("Dear "+PlayerID+",\r\n\r\n"
"<img src='/tmp/Marketing6.png' alt= 'image not found'/>"
)
SUBJECT = "Player name has been created "
try:
response = client.send_email(
Destination={
'ToAddresses': [
RECIPIENT,
],
},
Message={
'Body': {
'Html': {
'Charset': CHARSET,
'Data': BODY_TEXT,
},
'Text': {
'Charset': CHARSET,
'Data': BODY_TEXT,
},
},
'Subject': {
'Charset': CHARSET,
'Data': SUBJECT,
},
},
Source=SENDER
)
Письмо, которое я получил: нажмите здесь