首页 > 解决方案 > 使用带有 AWS SES API 的 Swift Mailer 消息,但带有流

问题描述

我正在尝试通过 AWS SES 使用官方的 AWS SDK for PHP 来实现发送电子邮件。我在用着php 7.2

我的问题是附件。如果我想发送附件,我需要使用 sdk 中的sendRawEmail方法。它接受一个Data密钥,可以是以下之一:<string || resource || Psr\Http\Message\StreamInterface>

现在,我正在使用Swift_Message构建我的消息。此类具有toString()可用于获取电子邮件原始字符串的方法。将此原始字符串发送到上述sendRawEmail方法可以按预期工作,并且电子邮件已成功发送。

附件的问题在于,如果我们有一个 5MB 的附件,toString会生成一个占用内存的大字符串。我想避免这种情况。

Swift_Message还有一种toByteStream方法可以将消息写入 a Swift_InputByteStream,但我不知道如何将它与 AWS sdk 一起使用并确保字符串以块的形式流式传输,以节省内存。

任何帮助表示赞赏。谢谢。

标签: phpamazon-web-servicesswiftmaileramazon-ses

解决方案


推荐阅读