C# 使用第三方vs drop文件夹时,SMTPClient最多发送50封电子邮件
我有一个应用程序,有时需要发送很多电子邮件。大多数时候,它发送大约30封电子邮件。这没有问题。但有时(每月一次),它需要发送50多个(数百个,而不是数千个) 当使用本地放置文件夹进行测试时,SMTP客户端工作正常,我可以看到所有电子邮件都放在我的放置文件夹中 当使用Mandrill(实际的ESP)进行测试时,Mandrill似乎只收到50封电子邮件。这是一贯的C# 使用第三方vs drop文件夹时,SMTPClient最多发送50封电子邮件,c#,email,smtp,smtpclient,mandrill,C#,Email,Smtp,Smtpclient,Mandrill,我有一个应用程序,有时需要发送很多电子邮件。大多数时候,它发送大约30封电子邮件。这没有问题。但有时(每月一次),它需要发送50多个(数百个,而不是数千个) 当使用本地放置文件夹进行测试时,SMTP客户端工作正常,我可以看到所有电子邮件都放在我的放置文件夹中 当使用Mandrill(实际的ESP)进行测试时,Mandrill似乎只收到50封电子邮件。这是一贯的 每个要发送的电子邮件都有自己的SMTPClient实例 我尝试过并行和顺序处理电子邮件。两者行为相同 发送每封电子邮件的代码: pri
- 每个要发送的电子邮件都有自己的SMTPClient实例
- 我尝试过并行和顺序处理电子邮件。两者行为相同
- 发送每封电子邮件的代码:
private static void Send(MailMessage mail) { SmtpClient client = new SmtpClient(); client.SendAsync(mail, null); }
- 每封电子邮件都有一个收件人
- ESP(Mandrill)声誉很高,发送限制为每小时1453次。这几乎没有凹痕
您能建议在何处施加50的限制(SMTP配置、ESP配置、其他)以及我如何删除(或增加)它吗?如果所有邮件正文都相同,您只需将所有收件人添加到密件抄送中即可(盲抄送-意味着没有收件人可以看到其他人收到邮件)列出并发送邮件一次,然后将其发送给所有50多个收件人 如果它们不一样,只需重复使用相同的连接即可发送50多封电子邮件 问题可能是您的SMTP服务器将传入连接限制为每小时50个或其他时间窗口,以阻止DDoS
服务器每小时允许发送1453条消息并不意味着你可以每小时发送1453条消息。这些消息都是不同的,所以需要单独发送(尽管Mandrill有一个模板功能)。你关于联系的回答非常接近。我得到了曼德里尔的支持。他们告诉我,他们将有效连接限制为50。巧合我想不是。我认为你关于重用连接的观点会起作用。