微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Amazon SES 向电子邮件列表中的收件人发送重复的电子邮件

如何解决Amazon SES 向电子邮件列表中的收件人发送重复的电子邮件

我已经编写了一个成功的 Lambda 函数......

  • 当收到的电子邮件到达 s3 存储桶时触发
  • Strips 表示它的 csv 附件的传入电子邮件
  • 将原始 csv 保存到 s3 存储桶中的文件
  • 对 csv 文件执行一些处理
  • 将处理后的文件作为 csv 和 .xlsx 文件保存到 s3 存储桶中的另一个文件
  • 向收件人列表发送电子邮件,并附上已处理的 .xlsx 文件。在我调试时,电子邮件列表被限制为 3 个电子邮件地址。该列表名为 customer_emails

我面临的问题是收件人收到重复的电子邮件。以前收到了 4 封电子邮件,但是自从将 Lambda 超时修改为 1'25" 后,我已将其减少到每个收件人 2 封电子邮件

我无法确定这是由多次调用 Lambda 函数引起的,还是 SES 调用本身存在问题。

查看 Cloudwatch 日志中的“发送”指标表明每次给定调用仅发送 3 封电子邮件,这是预期的。请看截图。

enter image description here

代码摘录:

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>

任何指导都会有所帮助

谢谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。