【问题标题】:Send Email With Multiple Attachments using SES使用 SES 发送带有多个附件的电子邮件
【发布时间】:2019-07-12 05:57:15
【问题描述】:

我的任务是发送带有多个附件的电子邮件。 S3 存储桶大约会同时接收 2 个文件。

通过使用 S3 bucket Put 事件,我可以使用 lambda + SES 发送带有单个附件的电子邮件。

现在的任务是这样的,

我在 S3 中获得 2 个文件,例如“XXXYYYZZZ”和“XXXYYYZZZ.20190712111820”。

两个文件的前缀相同,第二个文件的名称带有时间戳 (20190712111820)

这里我需要发送带有以上 2 个文件作为附件的单个电子邮件。

如何实现呢?我可以理解 Put Event 将适用于在 S3 中创建的每个新文件。

【问题讨论】:

  • 您是在问如何在电子邮件中添加 2 个附件,或者如何处理 lambda 被每个文件触发而您不知道当时两者是否存在的情况?
  • 感谢@giaco 的回复我们可以使用多个 MIME 发送多封电子邮件。但是情况就像我需要选择 2 个文件并发送单个电子邮件.. 我可以理解使用事件触发器是不可能的.. 无论如何?
  • 这些文件的顺序是否总是相同的?
  • 是的,它会以相同的顺序出现
  • 如果它们总是以相同的顺序出现,您可以过滤从 S3 接收到的事件。例如:如果您以后总是得到一个带有后缀的文件,那么您可以使用正则表达式检查文件是否有后缀(而来自 S3 的事件包含 S3 上的文件键)。如果有,则下载带后缀的文件和不带后缀的文件(您有密钥,只需删除后缀)并将它们添加为附件。

标签: amazon-web-services amazon-s3 aws-lambda amazon-ses


【解决方案1】:

我能够通过将多个 MimeBodyPart 附加到消息中来实现相同的解决方案。

为每个附件创建 MimeBodyPart 附件,阅读它并将其添加到 MimeMultipart。

对我来说效果很好。

【讨论】:

    猜你喜欢
    • 2017-09-28
    • 2022-11-25
    • 1970-01-01
    • 2019-12-07
    • 2012-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多