zoukankan      html  css  js  c++  java
  • 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();
    }

    }
  • 相关阅读:
    HelperC#常用的防sql注入的关键词检测
    工业自动化产线名词
    C#使用单例模式
    cmt焊接和mig焊区别
    数据库表命名规范
    UIImagePickerController类 照相 或者 从相册取相片 (iphone and ipad)
    UIActionSheet类 在 iphone和ipad 中的不同
    navigationBarrespondsToSelector方法 判断对象是否接受到了某个方法
    设置自定义UIButton的背景图片
    AVFoundation.framwork 及其 部分类的使用
  • 原文地址:https://www.cnblogs.com/macula7/p/1960389.html
Copyright © 2011-2022 走看看