Tom*_*len 4 email queue amazon amazon-ses
我们正在使用 Amazon SES 发送电子邮件,它说我们的最大发送速率是每秒 5 次。
我不知道如果我们每秒发送超过 5 个会发生什么? 他们排队还是被拒绝?
我们有一个邮件列表,上面有 1,000 多人,他们都尝试一次性发送所有邮件(我们已获准为此使用 Amazon SES)。
这是我用来发送电子邮件的代码:
namespace Amazon
{
public class Emailer
{
/// <summary>
/// Send an email using the Amazon SES service
/// </summary>
public static void SendEmail(String from, String To, String Subject, String HTML = null, String emailReplyTo = null, String returnPath = null)
{
try
{
List<String> to
= To
.Replace(", ", ",")
.Split(',')
.ToList();
var destination = new Destination();
destination.WithToAddresses(to);
var subject = new Content();
subject.WithCharset("UTF-8");
subject.WithData(Subject);
var html = new Content();
html.WithCharset("UTF-8");
html.WithData(HTML);
var body = new Body();
body.WithHtml(html);
var message = new Message();
message.WithBody(body);
message.WithSubject(subject);
var ses = AWSClientFactory.CreateAmazonSimpleEmailServiceClient("xxx", "xxx");
var request = new SendEmailRequest();
request.WithDestination(destination);
request.WithMessage(message);
request.WithSource(from);
if (emailReplyTo != null)
{
List<String> replyto
= emailReplyTo
.Replace(", ", ",")
.Split(',')
.ToList();
request.WithReplyToAddresses(replyto);
}
if (returnPath != null)
request.WithReturnPath(returnPath);
SendEmailResponse response = ses.SendEmail(request);
SendEmailResult result = response.SendEmailResult;
}
catch (Exception e)
{
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我认为如果我们试图每秒发送更多消息而不是允许的限制,则请求会被拒绝。
我在 SES 博客http://sesblog.amazon.com/post/TxKR75VKOYDS60/How-to-handle-a-quot-Throttling-Maximum-sending-rate-exceeded-quot-error 中找到了这个
当您调用 Amazon SES 的速度快于分配的最大发送速率时,Amazon SES 将拒绝您超出限制的请求,并显示“限制 – 超出最大发送速率”错误。
“限制 - 超出最大发送速率”错误是可重试的。此错误与 Amazon SES 返回的其他错误不同,例如从未经验证的电子邮件地址发送或发送到列入黑名单的电子邮件地址。这些错误表明请求不会以其当前形式被接受。因“限制”错误而被拒绝的请求可以稍后重试,并且很可能会成功。
如果他们将请求排队,这将是一个不错的选择,但我们的经验是他们不会。如果我在这里理解错误,请告诉我。
| 归档时间: |
|
| 查看次数: |
6067 次 |
| 最近记录: |