我已经编写了一个成功的 Lambda 函数......
customer_emails
我面临的问题是收件人收到重复的电子邮件。以前收到了 4 封电子邮件,但是自从将 Lambda 超时修改为 1'25" 后,我已将其减少到每个收件人 2 封电子邮件。
我无法确定这是由多次调用 Lambda 函数引起的,还是 SES 调用本身存在问题。
查看 Cloudwatch 日志中的“发送”指标表明每次给定调用仅发送 3 封电子邮件,这是预期的。请看截图。
代码摘录:
ses_client = boto3.client(
'ses',
region_name='eu-west-1',
aws_access_key_id=[REDACTED],
aws_secret_access_key=[REDACTED]
)
message = MIMEMultipart()
message['Subject'] = 'Email for ' + str(today.strftime("%B %d, %Y"))
message['From'] = [REDACTED]
#message['Bcc'] = ', '.join(customer_emails)
# MESSAGE BODY
part = MIMEText('Here is today's email! Enjoy!', 'html')
message.attach(part)
# ATTACHEMENT
#if attachment_string: # if bytestring available
# part = MIMEApplication(str.encode('attachment_string'))
#else: # if file provided
part = MIMEApplication(open('/tmp/filename{}.xlsx'.format(d2), 'rb').read())
part.add_header('Content-Disposition', 'attachment', filename='filename{}.xlsx'.format(d2))
message.attach(part)
response = ses_client.send_raw_email(
Source=message['From'],
Destinations=customer_emails,
RawMessage={
'Data': message.as_string()
}
)
如果有帮助,收到的电子邮件具有不同的消息 ID。例如:
<01020178e56d2519-f6373855-6099-4abb-bbea-76c8d3c662e8-000000@eu-west-1.amazonses.com>
<01020178e56c2977-122e40c3-16c3-4aaa-9e14-b551e81ceab2-000000@eu-west-1.amazonses.com>
任何指导都会有所帮助
谢谢