针对QQ邮箱发邮件限制的解决方案
使用多个邮箱轮换使用进行发送
1、将使用的邮箱存储在一个统一的字符串变量中,将所有可使用的邮箱存储在一个字符串数组中(我的三个邮箱授权码相同,如果授权码不同,则建立一个授权码数组,和邮箱切换的解决方案同理)
全局变量(发邮件使用的邮箱)
可使用的邮箱数组
2、将建立连接的代码封装到一个函数,将连接对象变为成员变量,全局化,即每次调用同一个变量,而变量的对象可能不相同(会变化)
连接相关对象变为全局变量
private static Properties props; private static Session mailSession; private static MimeMessage message; private static Transport transport;
建立连接的函数
(不懂这几个对象是干嘛的百度)
3、设置每发送20封邮件切换一次邮箱,封装成函数
函数如下:
private void switchMail() { int i=0; for (;i<FPAMailArray.length;i++) if (FPAMail.equals(FPAMailArray[i])) break; if (i+1==FPAMailArray.length) i=0; else i++; FPAMail=FPAMailArray[i]; init(); }
4、每次发送邮件的时候做判断(i%20==0)
新版解决方案代码工具类
新版工具类代码
配置工具类对象到容器