• 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();
    }

    }
  • 相关阅读:
    使用protobuf生成代码import包找不到
    SQL 对邮箱数据的处理(分类统计)
    Hive 集合函数 collect_set() collect_list()
    菜谱分享网站微信小程序开发说明(1)-介绍与运行
    windows 下查看端口占用
    Windows下安装Maven自定义仓库配置阿里下载源,配置Ecplise、IDEA
    Windows下安装Node.js完整详细教程
    开启Centos8的SSH服务
    Openwrt与IPTV之二----udpxy
    Openwrt与IPTV之一----igmpproxy
  • 原文地址:https://www.cnblogs.com/macula7/p/1960389.html
Copyright © 2020-2023  润新知