结论:经过测试gmail,
用了两个帐号,第一个帐号连续发送了330多封垃圾邮件后,报错,然后在try-catch块中切换帐号,这个帐号是今天第一次连接,结果也连不上了。
估计是谷歌把第一个帐号的ip也屏蔽掉了。
也就是说,想发垃圾邮件,还真的是要交钱
测试代码如下:
public void test2() {
List<SoTrackingdetail> list = new ArrayList<SoTrackingdetail>();
List<BsSalesaccountEmail> emailList = new ArrayList<BsSalesaccountEmail>();
emailList.add(new BsSalesaccountEmail("nuyiwuxianqiang@gmail.com", "***"));
emailList.add(new BsSalesaccountEmail("menghuleishengang@gmail.com", "***"));
//添加了两个帐号,密码故意去掉了
boolean flag = emailList.size() > 0;
SoTracking order = new SoTracking();
order.setSendInd("0");
order.setCustEmail("***@qq.com");//这里是发邮件的目标地址
if ("1".equals(order.getSendInd())) {
flag = false;
}
while (flag) {
try {
BsSalesaccountEmail remove = emailList.remove(0);//取出一个帐号,帐号和密码封装在BsSalesaccountEmail 这个对象里面
for(int i=0;i<1000;i++){ //循环多遍,故意让抛出异常
Session session = GmailUtil.getSession(remove.getEmail().substring(0, username.indexOf("@")), remove.getPassword());
GmailUtil.send(session, remove, order, list);//自己封装的工具类,通过session,发送邮件
System.out.println(remove.getEmail()+":"+i);
}
flag = false;
} catch (MessagingException e) {
System.out.println(e);
if (emailList.size() == 0) {//用完了两个帐号就结束循环
System.out.println("over.........");
flag = false;
}
}
}
}
如果有大神:
因为我觉得是谷歌屏蔽了IP,也屏蔽了账号,所以不知道有没有通过改变IP来创建javamail的session的办法?如果有我就能继续发垃圾邮件了。各位有资源的可以联系我,完成后我就会把代码贴出。
|