java 发送邮件数量_Java 超简单实现发送邮件(可动态控制发送人数)

本文介绍了如何使用Java超简单地实现邮件发送,包括读取emails.txt文件获取收件人列表、设置邮件内容和主题,并通过SmtpServer发送邮件。代码可直接复制使用,适用于动态控制发送邮件的人数。
摘要由CSDN通过智能技术生成

发送邮件的实现

需要事先引入以下几个架包,最重要的架包是jodd-3.7这个

063ca457f69ae9da3d46ab09b661a684.png

以上架包下载地址:

到Linux公社资源站下载:

------------------------------------------分割线------------------------------------------

具体下载目录在 /2016年资料/5月/9日/Java 超简单实现发送邮件(可动态控制发送人数)/

------------------------------------------分割线------------------------------------------

新建一个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 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方法即可。以上就是一个超简易的发送邮件示例,亲测有效

7c1bb8d61a464f17a1c6fe2791490e78.png

下一篇,将补充如何自定义添加邮件内容

0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值