我正在使用 AWS SNS 发送警报电子邮件。现在电子邮件内容真的很长,因此我希望将其作为文件附件发送,而不是作为电子邮件内容发送。这可以通过 SNS 来完成吗?
不,不能。
SNS FAQ没有出来明确解释这一点,但可以从几个说法中推断出来:
Amazon SNS 消息最多可以包含 256 KB 的文本数据,包括 XML、JSON 和无格式文本。
“电子邮件”传输适用于最终用户/消费者,通知是常规的、基于文本的消息,易于阅读。
此外,由于在发布到 SNS 时您无权访问电子邮件标头空间,因此无法为电子邮件客户端指定必要的多部分编码来决定嵌入附件。您甚至无法发送 HTML 电子邮件(好吧,您可以,但符合标准的电子邮件客户端不会将它们呈现为 HTML)。
现在,许多电子邮件客户端理论上会识别电子邮件正文中的
http://...
,并将其转换为可点击的链接,允许您链接到所需的文件...但这当然与附加文件不同。
我似乎没有在 SNS 中将文件附加到电子邮件的机制。
Michael - sqlbot 是正确的。
作为 SES 的替代方案,您仍然可以使用 SNS。
在 SNS 消息中,您可以添加指向 S3 中存储文件的对象的链接,主题的订阅者可以通过这种方式访问(只要您的 S3 具有适当的权限)该文件。