如何加速通过Amazon SES发送电子邮件?

6
发送50万封电子邮件需要太长时间:6到8小时。每秒配额允许发送90封电子邮件。使用性能良好的专用服务器,因此内存/连接不应该是问题。一次使用50封电子邮件的批处理。
尝试更改批处理中的电子邮件数量:超过50会导致CURL错误:似乎Amazon没有对某些线程做出响应。即使在批处理中使用50个电子邮件和1200ms的暂停,每个邮件的发送也会有几个中断。
因此,平均批处理需要4到6秒才能完成+ 1.2秒暂停 - 对于每天发送500k封电子邮件而言,时间相当长。
请建议如何调整邮件设置以使其速度接近90封/秒。

1
每秒90封邮件和平均支持的邮件发送吞吐量不一定相关。与亚马逊核实支持的吞吐量(即每小时)和推荐方法可能是个好主意。 - Alexei Levenkov
单批次发送90封邮件通常都能正常进行。问题出现在“生产”模式下。 - Serge
我也遇到了同样的问题:( 我计划发送100万封电子邮件。我使用PHPMailer编写了一个脚本来发送到SES。我测试了5封电子邮件,用了10秒钟!当我打开调试模式时,我发现每次发送电子邮件时,PHPMailer都会重复相同的过程:打开与Amazon SES的连接,进行身份验证,发送电子邮件内容并接收发送结果。如果我们可以一次性打开连接和进行身份验证,然后关闭,那么速度会更快。我不确定这是否是你的情况。你用什么发送电子邮件? - Anh Nguyen
1个回答

0

如何同时运行多个作业?这样每个cURL错误的潜在损害就会减少。从两个作业开始,每个作业都要相应地调整其暂停和限制。

您还应确保设置cURL超时时间。至少配置CURLOPT_CONNECTTIMEOUT和CURLOPT_TIMEOUT。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接