Commons mail 发邮件

import java.io.File;
import java.io.IOException;
import java.util.List;

import org.apache.commons.io.FileUtils;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
/**
* 邮件发送器
* @author Kaka
*
*/

public class MailSender {
String host="smtp.gmail.com";
String userName="****";
String password="****";
String html="";
List<String>mailAddress;
HtmlEmail email =null;
String subject=null;
String from="*****";
@SuppressWarnings("unchecked")
/**
* 构造函数,html文件和Email地址存放文件
*/
MailSender(String htmlFileName,String mailFileName,String subject){
this.subject=subject;
try {
html=FileUtils.readFileToString(new File(htmlFileName),"utf-8");
} catch (IOException e) {
System.out.println("html文件加载错误");
System.exit(0);
}
try {

mailAddress=FileUtils.readLines(new File(mailFileName));
} catch (IOException e) {
System.out.println("html文件加载错误");
System.exit(0);
}
prepareMail();
}
private void prepareMail(){
System.out.println("start prepare.....");
email = new HtmlEmail();
email.setAuthentication(userName, password);
email.setHostName(host);
email.setSubject(subject);
email.setSSL(Boolean.TRUE); // 设定是否使用SSL
email.setSslSmtpPort("465"); // 设定SSL端口
email.setCharset("utf-8");
// email.set
try {
email.setFrom(from);
email.setHtmlMsg(html);

} catch (EmailException e) {
System.out.println("邮件加载html错误");
System.exit(0);
}
System.out.println(" prepare over!");
}
void send(){
int nums=0;
for (String addr:mailAddress) {
//    System.out.println(addr);
if(!addr.contains("@"))
addr=addr+"@qq.com";
nums++;
try {
email.addTo(addr);
} catch (EmailException e) {
System.out.println("add erro-------------------------------");
continue;
}
if(nums%50==0)
{
try {
System.out.println(email.getToAddresses().toString());;
System.out.println(email.send());
System.out.println("send "+nums);
} catch (EmailException e) {
e.printStackTrace();
}
prepareMail();
continue;
}           
}
try {
System.out.println(email.send());;
} catch (EmailException e) {
e.printStackTrace();
}
System.out.println("send "+nums);
}
/*
void sendOne(String to) throws EmailException, MalformedURLException{       
email.setHostName("mail.myserver.com");
email.addTo(to);
email.setHtmlMsg("<html>The apache logo - <img src=\"cid:"+"\"></html>");
email.setTextMsg("Your email client does not support HTML messages");
email.send();
}
*/
public static void main(String[] args) {
String folder="C:\\Users\\T\\Documents\\workspace-sts-2.3.2.RELEASE\\crawl\\mails\\";
MailSender ms=new MailSender(folder+"content_new.htm", folder+"mails.txt", "");
ms.send();
}

}
原文地址:https://www.cnblogs.com/macula7/p/1960389.html