我们将微型实例改为 VPC 内的小型实例,现在发送电子邮件有时很快,但很多时候却非常非常慢。就好像我们的网页要挂起,然后最终完成,有时电子邮件似乎没有到达。
此外,由于出现了错误,我不得不更改向他们发送电子邮件的 .net 代码。我不得不开始处理 SmtpClient 类。我以前从来没有这样做过!错误消失了,但速度仍然很慢。
可能是什么原因造成的?
当我没有处理 SmtpClient 时,我收到错误...
“服务不可用,正在关闭传输通道。服务器响应为:等待客户端数据超时。”
答案1
简短回答:使用 HTTPS SES API,而不是 SMTP 端点。
详细回答:我们前段时间在一些项目中使用了 SES SMTP 端点,并发现了同样的问题:当我们尝试发送大量电子邮件(但不是很大)时,SES SMTP 端点超时。我们尝试通过将一些 Postfix 实例部署为代理中继来解决这个问题,但没有成功。我们最终决定使用 HTTPS API,所有超时问题都消失了。我们从未收到 AWS 支持团队的官方答复,但我们认为这是由于 SES 中实施的 SMTP 软件层中的某种发送速率保护造成的。