我正在为我们的客户开发一个使用 Mandrill 作为后端的群发邮件客户端。Mandrill 在他们的常见问题解答中指出 JSON 请求需要小于 10 MB。因此,我不能只将所有地址添加到单个请求中,而是需要在多个请求中发送它们。
我可以看到 2 种方法:或者将列表分成组(有一些缓冲区)并按组发送它们,或者一次将它们单独发送到每个地址。我不太喜欢第二种方法,因为这会向 Mandrill API 发送一些琐碎的请求,并可能让我被列入黑名单。第一个选项将限制 Mandrill API 接收的请求数量并减少我们自己网络的压力,但我不确定使用什么方法来拆分它们。
- 当计数器达到某个数字时,使用带有计数器和特殊逻辑的 for 循环在我看来就像一个很容易破坏的 hacky 解决方案。
- 将列表本身拆分成块并分别处理每个块是另一种选择,但我不太清楚如何解决。
我不知道这两种方法中最好的方法是什么,是否有更好的第三种方法,或者是否有关于群发邮件技术实施的一般指南。我已经对后一个主题进行了一些谷歌搜索,但没有什么真正有用的。
虽然建议的高级解决方案很有帮助,但我对将列表拆分为 1000-5000 个联系人的技术方面更感兴趣。有没有办法List<Contact>
使用 C# 将任意大小的任意大小分成 4000 个联系人?