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

简介: 发送邮件的实现 需要事先引入以下几个架包,最重要的架包是jodd-3.7这个   以上架包下载地址:http://pan.baidu.com/s/1kVs7Tyv  提取密码:h22x 新建一个Util类,其中emails.
+关注继续查看

发送邮件的实现

需要事先引入以下几个架包,最重要的架包是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方法即可。以上就是一个超简易的发送邮件示例,亲测有效

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

  • 感谢你的阅读。如果你觉得这篇文章对你有帮助或者有启发,就请推荐一下吧~你的精神支持是博主强大的写作动力。欢迎转载!
  • 博主的文章没有高度、深度和广度,只是凑字数。由于博主的水平不高(其实是个菜B),不足和错误之处在所难免,希望大家能够批评指出。
  • 欢迎加入.NET 从入门到精通技术讨论群→523490820 期待你的加入
  • 不舍得打乱,就永远学不会复原。被人嘲笑的梦想,才更有实现的价值。
  • 我的博客:http://www.cnblogs.com/zhangxiaoyong/
目录
相关文章
|
2月前
|
存储 Java 应用服务中间件
Java统计用户在线人数,这样做才优雅
统计用户在线人数 在统计用户在人数的时候,我们用到了监听器,监听器大致分为以下三种: 1. ServletRequestListener:用于监听请求的监听接口 2. HttpSessionListener:用于监听会话的监听接口 3. ServletContextListener:用于监听应用的回话接口
84 1
|
9月前
|
Java Apache Spring
Java发送Http请求(HttpClient)
Java发送Http请求(HttpClient)
3805 1
|
10月前
|
Java
Java:HttpURLConnection发送GET和POST请求
Java:HttpURLConnection发送GET和POST请求
70 0
|
10月前
|
Java Maven
java实现发送接收邮件的功能(详细代码步骤和jar包)
可以通过java代码发送A邮箱发送到B邮箱。
229 0
java实现发送接收邮件的功能(详细代码步骤和jar包)
|
10月前
|
Java API 开发工具
Java调用腾讯云短信接口,完成验证码的发送
一、前言 我们在一些网站注册页面,经常会见到手机验证码的存在,这些验证码一般的小公司都是去买一些大的厂家的短信服务,自己开发对小公司的成本花费太大了!今天小编就带着大家来学习一下腾讯云的短信接口,体验一下,自己实现!!!
204 0
Java调用腾讯云短信接口,完成验证码的发送
|
11月前
|
Java Linux
java 发送邮件附件 文件名过长的坑
java 发送邮件附件 文件名过长的坑
277 0
java 发送邮件附件 文件名过长的坑
|
11月前
|
Java
有关Java发送邮件信息(支持附件、html文件模板发送)
有关Java发送邮件信息(支持附件、html文件模板发送)
有关Java发送邮件信息(支持附件、html文件模板发送)
|
11月前
|
Java
java 发邮件带excel附件,以流的形式发送附件,不生成excel文件
java 发邮件带excel附件,以流的形式发送附件,不生成excel文件
574 0
|
11月前
|
监控 Java Linux
通过java程序发送飞鸽快信(微信)消息
通过java程序发送飞鸽快信(微信)消息
211 0
通过java程序发送飞鸽快信(微信)消息
|
Java
java学习第二天笔记-java基础概念06-计算公交车司机的人数24
java学习第二天笔记-java基础概念06-计算公交车司机的人数24
63 0
java学习第二天笔记-java基础概念06-计算公交车司机的人数24
相关产品
云迁移中心
推荐文章
更多