java - 百万级别的邮件发送问题

查看:111
本文介绍了java - 百万级别的邮件发送问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

如题,对于百万级别的邮件发送,求各位指点。

  1. 不能群发,群发的话,收件人会是一大推不认识的人,或者群发可以实现收件人中只有自己也行。

  2. 时间上 大概可以 在小半天之内,时间越短也好。

  3. java python都行(个人觉得java有点重,百万级别的得部署一番高可用平台,python相对轻点)

多线程肯定会用到,但是我想 如果发送频率太快可能被封,大家有什么想法吗?

============================================================

最后和邮件服务器供应商商量了下,单独给开了个 域名,增大了一次发送的量以及一天发送的总量,然后用了多台服务器,每台java多线程(本来想用脚本跑,还得查库和做一些其他的操作,而且有现成的模块,就没用python了),好在要发送的用户查询是分表的,所以每台单独负责几个表,也有记录每次发送后的数量以便下次继续发。
ps: 效果比想象中好,一次跑了30w的数据几分钟跑完了

解决方案

用的是什么邮箱?邮件服务器是你们自己的吗?

"不能群发,群发的话,收件人会是一大推不认识的人,或者群发可以实现收件人中只有自己也行。" -- 用密送(bcc)就可以实现收件人都不知道对方。

即使是使用密送,但是估计也不能达到一次发送百万级别的,可以考虑根据服务器bcc的人数限制来分割成N个组来进行发送。

搞这种事情java确实不如跑个python脚本。

因为跑的时间可能会稍微有点长,建议每发送完一批后记录到文件/数据库中,如果脚本不小心挂掉了,可以断点续发。

这篇关于java - 百万级别的邮件发送问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆