程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> Java 超簡單實現發送郵件(可動態控制發送人數),java發送郵件

Java 超簡單實現發送郵件(可動態控制發送人數),java發送郵件

編輯:MySQL綜合教程

Java 超簡單實現發送郵件(可動態控制發送人數),java發送郵件


發送郵件的實現

需要事先引入以下幾個架包,最重要的架包是jodd-3.7這個

 

以上架包下載地址:http://pan.baidu.com/s/1kVs7Tyv  提取密碼:h22x

新建一個Util類,其中emails.txt 是用來動態配置需要發送郵件的發送對象

package quartz;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
 *
 * @author DONG
 */
public class Util{
    public static final String format = "HH:mm";
    public static final SimpleDateFormat sdf = new SimpleDateFormat(format);
    public static String content = "以下電樁斷網已超過1小時" +"【"+ sdf.format(new Date())+"】";//發送郵件內容
    public static Date lastSend = null;
    
    public static List getEmailList(){
        return getList("emails.txt");
    }
    
    public static List getList(String fileName){
        try{
            InputStream is = Util.class.getResourceAsStream(fileName);
            InputStreamReader isr = new InputStreamReader(is);
            BufferedReader br = new BufferedReader(isr);
            List list = new ArrayList();
            String line = "";
            while( (line = br.readLine()) != null ){
                if(!"".equals(line.trim())) list.add(line);
            }
            br.close();
            isr.close();
            is.close();
            return list;
        }catch(Exception e){
            e.printStackTrace();
        }
        return null;
    }
}

以上代碼可直接copy復用

接下來就是發送郵件了

public void run() {

            List<String> emails = Util.getEmailList();//獲取郵件發送對象的集合
            if (emails.isEmpty()) {
                System.out.println("no email receiver");
                return;
            }
            String from = "********@sina.com";//用戶名,登錄郵箱的賬號
            String psw = "**********";//密碼
            String[] to = emails.toArray(new String[0]);
            Email email = Email.create()
                    .from(from).to(to)
                    .subject("電樁斷網超時提醒")//郵件主題
                    .addText(Util.content);//郵件內容

            SmtpServer smtpServer = SmtpServer.create("smtp.sina.com")//調用新浪郵箱服務器
                    .authenticateWith(from, psw);

            SendMailSession session = smtpServer.createSession();
            session.open();
            session.sendMail(email);//執行發送
            session.close();

            System.out.println("--email send success. receivers: " + Arrays.deepToString(emails.toArray()));

        }

在需要發送郵件的地方調用run方法即可。以上就是一個超簡易的發送郵件示例,親測有效

 下一篇,將補充如何自定義添加郵件內容

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved