JavaMail发送邮件 多人发送

  1. 在我们开发过程中经常会用到邮件,比如 : 发送通知,找回密码 验证码  等等,再次总结了使用javaMail发送邮件,无需单间james等邮件服务器也可发送邮件

  2. javaMail官网 在里面可以找到详细的文档以及案例和jar包

  3. 我们都知道在前后端交互都是有协议的,http协议,JavaMail也有自己的协议,SMTP/POP3和IMAP

  4. 使用javaMail前提是可以连接外网.

  5. 废话不多说,直接上案例:

    1.   导入依赖,在没使用maven的话导入相应的jar包,点此下载

      <dependency><groupId>com.sun.mail</groupId><artifactId>javax.mail</artifactId><version>1.5.2</version>
      </dependency>
    2. 测试案例:这是一个模板工具

      package com.bgi.util;import org.springframework.core.io.ClassPathResource;import javax.mail.Address;
      import javax.mail.Session;
      import javax.mail.Transport;
      import javax.mail.internet.InternetAddress;
      import javax.mail.internet.MimeMessage;
      import java.io.IOException;
      import java.util.Date;
      import java.util.Properties;public class EmailUtil {//获取属性文件中的值,建议把配置的信息放到属性文件中,方便修改和获取private static Properties properties = new Properties();static{try {//加在属性文件properties.load(new ClassPathResource("properties/email.properties").getInputStream());} catch (IOException e) {}}public static    String SMTPSERVER = properties.getProperty("smtp.server"); //从属性文件中获取值其中key为smtp.serverpublic static  String SMTPPORT = properties.getProperty("smtp.port");   //端口号 465  465  465   不是456public  static  String ACCOUT = properties.getProperty("smtp.account");//账户名:我的是163账户,此账户必须在设置中开启授权码授权public  static  String PWD = properties.getProperty("smtp.pwd");   //授权密码public static String users = properties.getProperty("email.users");   //这里是发送给多个用户多个用户用都好分割xxx@xx.com,xxx@xx.compublic static void  sendEmail(String content){try {// 创建邮件配置Properties props = new Properties();props.setProperty("mail.transport.protocol", "smtp"); // 使用的协议(JavaMail规范要求)props.setProperty("mail.smtp.host", SMTPSERVER); // 发件人的邮箱的 SMTP 服务器地址props.setProperty("mail.smtp.port", SMTPPORT);props.put("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");props.setProperty("mail.smtp.auth", "true"); // 需要请求认证props.setProperty("mail.smtp.ssl.enable", "true");// 开启ssl// 根据邮件配置创建会话,注意session别导错包Session session = Session.getDefaultInstance(props);// 开启debug模式,可以看到更多详细的输入日志session.setDebug(true);//创建邮件MimeMessage message = createEmail(session,users,content);   //将用户和内容传递过来//获取传输通道Transport transport = session.getTransport();transport.connect(SMTPSERVER,ACCOUT, PWD);//连接,并发送邮件transport.sendMessage(message, message.getAllRecipients());transport.close();} catch (Exception e) {e.printStackTrace();}
      }public static MimeMessage createEmail(Session session,String users,String content) throws Exception {// 根据会话创建邮件MimeMessage msg = new MimeMessage(session);// address邮件地址, personal邮件昵称, charset编码方式InternetAddress fromAddress = new InternetAddress(ACCOUT,"中间件推送", "utf-8");// 设置发送邮件方msg.setFrom(fromAddress);
      //        单个可以直接这样创建
      //        InternetAddress receiveAddress = new InternetAddress();// 设置邮件接收方Address[] internetAddressTo = new InternetAddress().parse(users);
         //type:

      要被设置为 TO, CC 或者 BCC,这里 CC 代表抄送、BCC 代表秘密抄送。举例:Message.RecipientType.TO

              msg.setRecipients(MimeMessage.RecipientType.TO,  internetAddressTo);// 设置邮件标题msg.setSubject("测试标题", "utf-8");msg.setText(content);// 设置显示的发件时间msg.setSentDate(new Date());// 保存设置msg.saveChanges();return msg;}}
    3. email.properties

      smtp.server=smtp.163.com
      smtp.port=465
      smtp.account=xxx@163.com
      smtp.pwd=xxxxxemail.users=xxx@163.com,xxxx@qq.com,xxx@xx.cn
    4. 163邮箱开启授权:

  1. qq邮箱开启授权: 点击生成授权码,即可生成授权码

到此已经可以发送邮件了,如果需要添加附件,可以自行研究

转载自:https://www.cnblogs.com/tianliuyang/p/9486420.html

JavaMail 给多人发送邮件相关推荐

  1. JavaWeb学习总结(五十二)——使用JavaMail创建邮件和发送邮件

    JavaWeb学习总结(五十二)--使用JavaMail创建邮件和发送邮件 一.RFC882文档简单说明 RFC882文档规定了如何编写一封简单的邮件(纯文本邮件),一封简单的邮件包含邮件头和邮件体两 ...

  2. (转载)JavaWeb学习总结(五十二)——使用JavaMail创建邮件和发送邮件

    博客源地址:http://www.cnblogs.com/xdp-gacl/p/4216311.html 一.RFC882文档简单说明 RFC882文档规定了如何编写一封简单的邮件(纯文本邮件),一封 ...

  3. Python给多人发送邮件

    把下面代码中的发件人.密码.收件人改成自己的可以直接用. 记录一下自己测试的python通过smtp给多人发送邮件. import smtplib from email.mime.text impor ...

  4. 进阶的阿牛哥之用python向多人发送邮件(带附件)、遍历邮件获取内容(两种方法:imbox、imaplib)

    (一)向多人发送邮件(带附件) 一.使用的库 这个程序涉及两个库:smtplib 和 email 这两个库都是Python自带的,所以不需要额外的下载安装. 二.思路和步骤 总体思路很简单,就像我们平 ...

  5. javamail,XMail轻松实现发送邮件

    XMail下载地址 http://download.csdn.net/detail/ivanhyx/9058923 此下载地址为相关jar包及此Demo 简单几步,轻松实现发送邮件,把javamail ...

  6. spring利用javamail,quartz定时发送邮件

    spring提供的定时发送邮件功能一直深受广大web开发者的喜爱,最近忙里偷闲,自己写了个简单的例子以供大家参考, 首先从spring配置文件开始吧:    <!--  *****定时任务开始* ...

  7. JAVAMAIL试用google邮箱发送邮件

    这里的Demo简单来,希望给第一次试用的你帮助. . 1,试用网易邮箱发送邮件: //网易 public static Session getNetEasySession() {Properties ...

  8. python 发送邮件乱码,及给多人发送邮件

    一.发送邮件收件人乱码 1.要解决发件人名称乱码问题,必须使用Header from email.header import Header from = ("%s") % (Hea ...

  9. python用QQ邮箱给多人发送邮件

    一,登录邮箱,获取授权码 第二部,替换参数 给多人发送邮箱,我只是做了个循环,把每个人得授权码循环输入了.把授权码和邮箱替换成自己得就行,内容你可以自己定义 import smtplib from e ...

最新文章

  1. sql删除过程的命令是什么_今日份知识分享:SQL 介绍
  2. Python - 字符串
  3. AUTOSAR从入门到精通100讲(三十)-makefile原理及实战案例
  4. ENSP配置 实例四 默认路由配置
  5. 容器编排技术 -- Pod 安全策略
  6. React native 第三方组件 React native swiper
  7. 小学计算机教育实习教案,小学信息技术教师资格证面试教案模板:《漂亮的剪贴画》...
  8. sql azure 语法_Azure Data Studio中SQL Server Profiler
  9. DeepMind作弊?被质疑干翻星际2顶尖高手全靠手速
  10. 【编译器】G++常用命令
  11. C#winform省市县联动,以及有的县是空值时显示异常的处理
  12. 自动摘要学习计划(英语)
  13. 基于Matlab的空中交通管制仿真(附源码)
  14. 捕鱼达人(unity实现)
  15. android程序突然崩溃如何调试,Android应用开发android 调试崩溃Unable to instantiate application的解决方法...
  16. 魅族便签,是否能成为国内便签应用的No.1?
  17. 多传感器数据融合算法综述
  18. 五个维度着手MySQL的优化,我和面试官都聊嗨了
  19. 《实战 Java 高并发程序设计》笔记——第3章 JDK 并发包(二)
  20. Linux中如何使用Wireshark来分析数据包?

热门文章

  1. 金山免费词霸:谷歌金山词霸2.0
  2. Python网络爬虫实战项目代码大全
  3. 流水线作业调度最小时间问题
  4. 电子计算机工作原理及设计思想为什么理论,动态偏振控制器的工作原理、系统设计及应用...
  5. EBS系统扫二维码登录开发
  6. CUMTOJ算法实验四
  7. 企业估值指标-每股收益、稀释每股收益、市盈率、市净率、息税前利润、息税折旧及摊销前利润...
  8. 激扬十载,筑梦远航|智和信通2022踔厉奋发新征程,笃行不怠向未来
  9. 31个高权重可发外链的地方
  10. 新兴IT企业特斯拉(十)——太空探索、超级高铁和地下隧道