gpt4 book ai didi

java - 通过 AWS SES 批量发送邮件

转载 作者:行者123 更新时间:2023-11-30 06:20:25 27 4
gpt4 key购买 nike

我正在使用 Amazon AWS SES 发送我的电子邮件营销 Activity 。我的名单上有大约 35,000 名订阅者。目前我正在使用类似于以下的代码。

for (Entry<Integer, String> emailEntry : email_ids.entrySet()) {
MimeMessage msg = getMimeMessage(emailEntry.getKey(), emailEntry.getValue());
ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
msg.writeTo(outputStream);
RawMessage rawMessage = new RawMessage(ByteBuffer.wrap(outputStream.toByteArray()));

ses.sendRawEmail(new SendRawEmailRequest(rawMessage));
}

这样我就可以按照我想要的方式向所有订阅者发送电子邮件。但数据传输需要巨额费用。每条 MimeMessage 大小为 150Kb,将其发送给 35,000 个订阅者会产生 5.5 GB 的数据传输量。

因此,我决定在我的应用程序中使用 BulkTemplateEmail,创建一次模板并将其发送到 35,000 封电子邮件。这样,电子邮件只需发送到 SES 一次,并且在数据传输方面会有显着的 yield 。

任何人都可以为我提供一个通过 Java AWS SDK 执行此操作的示例吗?我想在每个目的地上添加列表取消订阅 header 。这就是我实际上被困住的地方。找不到任何方法来为每个目标添加自定义电子邮件 header 。 BulkTemplateEmail 可以实现这一点吗?

任何信息都将受到高度赞赏。

最佳答案

使用 SES 发送电子邮件时,亚马逊会收取数据传出费用。当前价格为每 GB 0.12 美元。对于大量电子邮件,这可能会导致严重的费用。

Amazon SES pricing

对于嵌入图像、附件等,另一种解决方案是使用链接而不是嵌入对象。这样您就可以减轻和减少数据传输费用。这可能会对许多电子邮件从未打开的电子邮件营销 Activity 产生中度到高度的影响,从而节省数据传输费用。

如果您的链接引用 EC2 实例上的文件,请记住,您仍需要为 EC2 实例的数据输出付费。 S3 将提供更低的成本。

关于java - 通过 AWS SES 批量发送邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48264187/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com