AWS SES + S3 :从 S3 发送带有附件的电子邮件



我正在使用 AWS SES 服务向我的客户发送电子邮件,我想知道是否有任何解决方案可以使用 SES 和 Lambda 函数将文件直接附加到我的电子邮件中。我做了一个研究,最终找到了解决方案,建议包含指向 S3 文件的链接,而不是按原样附加文件。我想附加来自 SE 的文件,该文件可以从电子邮件本身下载。不是对附件的链接或引用。

正如人们在上面的评论中提到的,没有办法通过 SES 自动从 S3 "直接"发送文件。听起来您需要编写一个执行以下步骤的 Lambda 函数:

  1. 文件对象从 S3 提取到内存中
  2. 构建带有文本正文和文件附件的多部分 MIME 消息
  3. 通过 SES 发送原始消息

步骤1是使用具有适当Bucket/Key参数的S3.getObject的简单问题。

我不知道你使用的是哪种语言,但在 Node 中.js步骤 #2 可以使用 npm 包完成,mailcomposer如下所示:

const mailOptions = {
    from: 'no-reply@example.tld',
    to: 'whoever@example.tld',
    subject: 'The Subject Line',
    text: 'Body of message. File is attached...nn',
    attachments: [
        {
            filename: 'file.txt',
            content: fileData,
        },
    ],
};
const mail = mailcomposer(mailOptions);
mail.build(<callback>);
步骤

3 再次是将 SES.sendRawEmailRawMessage.Data 参数设置为您在步骤 2 中构建的消息一起使用的简单问题。

Nodemailer浮现在脑海中。

这里有一个很好的中等教程,涵盖了如何做到这一点。

相关内容

  • 没有找到相关文章

最新更新