解决方案 »

  1.   

    把群发邮件独立成一个服务吧。
    然后,提供一个地方配置哪些邮件发送给哪些人,提供给web一个接口,需要发送邮件的时候调用。web只要告诉服务,我要发什么内容,发给谁,甚至可以定时,按批次发送,剩下的时候由服务去处理。哪些发送成功哪些失败还有时间都是服务去维护。有需要的话再提供给web一个接口,调用发送结果信息。
      

  2.   

    如果是几万这个量,你得自己搭建smtp服务器,甚至是多台这样的服务器。
      

  3.   

    如果第一人发给这10000个用户,第二个人还是要发给这10000个用户,那么服务那边就要排队,这也是合理的。就像打印机,几个人发过来的打印任务需要排队。
    当然,你也做些小处理,比如说一放过1的可以发2的内容,而不是等到所有第一个10000的用户都发完。
    分开主要的好处就是你的web程序不用等10000个邮件发完,可以继续做其他事情。邮件服务去处理发送任务,web有需要就掉接口看结果。