【发布时间】:2019-03-01 21:48:59
【问题描述】:
对于我的应用程序,我正在用 python 编写一个 lambda 函数,用于从 AWS SES 发送电子邮件。
对于这封电子邮件,我正在尝试附加一个嵌入式图像,我正在从 s3 存储桶下载该图像到 Lambda tmp 文件,并使用“html 内容(如 ("<img src='/tmp/Marketing6.png' alt= 'image not found'/>")”将其添加到 SES 正文中)图片。
这是从 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
)
我收到的邮件: click here
【问题讨论】: