歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Java 超簡單實現發送郵件(可動態控制發送人數)

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

日期:2017/3/1 9:16:11   编辑:Linux編程

發送郵件的實現

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

以上架包下載地址:

Linux公社資源站下載:

------------------------------------------分割線------------------------------------------

免費下載地址在 http://linux.linuxidc.com/

用戶名與密碼都是www.linuxidc.com

具體下載目錄在 /2016年資料/5月/9日/Java 超簡單實現發送郵件(可動態控制發送人數)/

下載方法見 http://www.linuxidc.com/Linux/2013-07/87684.htm

------------------------------------------分割線------------------------------------------

新建一個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方法即可。以上就是一個超簡易的發送郵件示例,親測有效

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

Copyright © Linux教程網 All Rights Reserved