//登录验证
static class SmtpAuth extends javax.mail.Authenticator { private String user , password ;
public void getuserinfo(String getuser, String getpassword) {
user = getuser;
password = getpassword;
}
protected javax.mail.PasswordAuthentication getPasswordAuthentication() {
return new javax.mail.PasswordAuthentication( user , password );
}
}
//群发邮件
public void sendMessage() throws MessagingException, IOException {
String smtpHost = "smtp.163.com";
String from = userAccount;//传过来的账号
String subject = "这是一份调查问卷";
StringBuffer messageText=new StringBuffer();//内容以html格式发送,防止被当成垃圾邮件
messageText.append("
Hi,你好,这是一份充满诚意的调查问卷,如果有空的话请协助我们完成调查");
messageText.append("点我前往答题");
SmtpAuth sa = new SmtpAuth();
sa.getuserinfo(userAccount, userPassword);//传过来的账号和密码
java.util.Properties props = new java.util.Properties();
props.put("mail.smtp.auth", "true");
props.put("mail.smtp.host", smtpHost);
InternetAddress fromAddress = new InternetAddress(from,"苏州教育质量监测中心");//设置发送人别称
int i = 0;
int sucs=0;
int fal=0;
String result="";
while (i < email.size()) {//email是存放收件人邮箱地址的集合
try {
InternetAddress toAddresss = new InternetAddress(email.get(i));
Session mailSession = Session.getDefaultInstance(props, sa);
MimeMessage testMessage = new MimeMessage(mailSession);
try {
testMessage.setFrom(fromAddress);
} catch (AddressException e) {
result="false";
response.getWriter().write(result);
}
testMessage.addRecipient(javax.mail.Message.RecipientType.TO, toAddresss);
testMessage.setSentDate(new java.util.Date());
testMessage.setSubject(subject);
//testMessage.setText(messageText);
testMessage.setContent(messageText.toString(), "text/html;charset=gb2312");
Transport.send(testMessage);
i++;
sucs++;
} catch (MessagingException e) {
System.out.println("发送给"+email.get(i)+"发送失败");
i++;
fal++;
}
}
result=sucs+"|"+fal;
response.getWriter().write(result);
}