有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java高效地发送多封电子邮件

我已经到了必须向我的用户发送电子邮件通知的地步,无论他们订阅了什么活动。我的服务不多,但没有什么能阻止它成为一个,因此我想做好准备

目前,我使用Spring的mail sender以一种相当同步的方式处理这些电子邮件(从一个集合中获取一堆订阅的电子邮件地址并向它们发送邮件),然而,人们可以看到这种方法很快就会变得不可用。因此,我正在努力实现更多的并行性

多个线程可能有助于解决这种情况,除非同时有太多线程。我想|我需要像内存队列这样的东西,它可以在特定的时间间隔发送成批电子邮件,打开一个新线程。完成的线程将被收集到线程池中并重新使用

建议?也许我的方法太复杂了。也许Spring已经提供了一种缓解阻塞和同步的方法。我很高兴知道


共 (1) 个答案

  1. # 1 楼答案

    与其向每个用户发送一封电子邮件,不如一次向所有用户发送一封电子邮件。换句话说,制作一封邮件并将每个用户添加到目的地列表中。然后你的SMTP服务器会担心复制它并将副本发送给每个人