JavaMail 给多人发送邮件
JavaMail发送邮件 多人发送
在我们开发过程中经常会用到邮件,比如 : 发送通知,找回密码 验证码 等等,再次总结了使用javaMail发送邮件,无需单间james等邮件服务器也可发送邮件
javaMail官网 在里面可以找到详细的文档以及案例和jar包
我们都知道在前后端交互都是有协议的,http协议,JavaMail也有自己的协议,SMTP/POP3和IMAP
使用javaMail前提是可以连接外网.
废话不多说,直接上案例:
导入依赖,在没使用maven的话导入相应的jar包,点此下载
<dependency><groupId>com.sun.mail</groupId><artifactId>javax.mail</artifactId><version>1.5.2</version> </dependency>
测试案例:这是一个模板工具
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;}}
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
163邮箱开启授权:
qq邮箱开启授权: 点击生成授权码,即可生成授权码
到此已经可以发送邮件了,如果需要添加附件,可以自行研究
转载自:https://www.cnblogs.com/tianliuyang/p/9486420.html
JavaMail 给多人发送邮件相关推荐
- JavaWeb学习总结(五十二)——使用JavaMail创建邮件和发送邮件
JavaWeb学习总结(五十二)--使用JavaMail创建邮件和发送邮件 一.RFC882文档简单说明 RFC882文档规定了如何编写一封简单的邮件(纯文本邮件),一封简单的邮件包含邮件头和邮件体两 ...
- (转载)JavaWeb学习总结(五十二)——使用JavaMail创建邮件和发送邮件
博客源地址:http://www.cnblogs.com/xdp-gacl/p/4216311.html 一.RFC882文档简单说明 RFC882文档规定了如何编写一封简单的邮件(纯文本邮件),一封 ...
- Python给多人发送邮件
把下面代码中的发件人.密码.收件人改成自己的可以直接用. 记录一下自己测试的python通过smtp给多人发送邮件. import smtplib from email.mime.text impor ...
- 进阶的阿牛哥之用python向多人发送邮件(带附件)、遍历邮件获取内容(两种方法:imbox、imaplib)
(一)向多人发送邮件(带附件) 一.使用的库 这个程序涉及两个库:smtplib 和 email 这两个库都是Python自带的,所以不需要额外的下载安装. 二.思路和步骤 总体思路很简单,就像我们平 ...
- javamail,XMail轻松实现发送邮件
XMail下载地址 http://download.csdn.net/detail/ivanhyx/9058923 此下载地址为相关jar包及此Demo 简单几步,轻松实现发送邮件,把javamail ...
- spring利用javamail,quartz定时发送邮件
spring提供的定时发送邮件功能一直深受广大web开发者的喜爱,最近忙里偷闲,自己写了个简单的例子以供大家参考, 首先从spring配置文件开始吧: <!-- *****定时任务开始* ...
- JAVAMAIL试用google邮箱发送邮件
这里的Demo简单来,希望给第一次试用的你帮助. . 1,试用网易邮箱发送邮件: //网易 public static Session getNetEasySession() {Properties ...
- python 发送邮件乱码,及给多人发送邮件
一.发送邮件收件人乱码 1.要解决发件人名称乱码问题,必须使用Header from email.header import Header from = ("%s") % (Hea ...
- python用QQ邮箱给多人发送邮件
一,登录邮箱,获取授权码 第二部,替换参数 给多人发送邮箱,我只是做了个循环,把每个人得授权码循环输入了.把授权码和邮箱替换成自己得就行,内容你可以自己定义 import smtplib from e ...
最新文章
- sql删除过程的命令是什么_今日份知识分享:SQL 介绍
- Python - 字符串
- AUTOSAR从入门到精通100讲(三十)-makefile原理及实战案例
- ENSP配置 实例四 默认路由配置
- 容器编排技术 -- Pod 安全策略
- React native 第三方组件 React native swiper
- 小学计算机教育实习教案,小学信息技术教师资格证面试教案模板:《漂亮的剪贴画》...
- sql azure 语法_Azure Data Studio中SQL Server Profiler
- DeepMind作弊?被质疑干翻星际2顶尖高手全靠手速
- 【编译器】G++常用命令
- C#winform省市县联动,以及有的县是空值时显示异常的处理
- 自动摘要学习计划(英语)
- 基于Matlab的空中交通管制仿真(附源码)
- 捕鱼达人(unity实现)
- android程序突然崩溃如何调试,Android应用开发android 调试崩溃Unable to instantiate application的解决方法...
- 魅族便签,是否能成为国内便签应用的No.1?
- 多传感器数据融合算法综述
- 五个维度着手MySQL的优化,我和面试官都聊嗨了
- 《实战 Java 高并发程序设计》笔记——第3章 JDK 并发包(二)
- Linux中如何使用Wireshark来分析数据包?
热门文章
- 金山免费词霸:谷歌金山词霸2.0
- Python网络爬虫实战项目代码大全
- 流水线作业调度最小时间问题
- 电子计算机工作原理及设计思想为什么理论,动态偏振控制器的工作原理、系统设计及应用...
- EBS系统扫二维码登录开发
- CUMTOJ算法实验四
- 企业估值指标-每股收益、稀释每股收益、市盈率、市净率、息税前利润、息税折旧及摊销前利润...
- 激扬十载,筑梦远航|智和信通2022踔厉奋发新征程,笃行不怠向未来
- 31个高权重可发外链的地方
- 新兴IT企业特斯拉(十)——太空探索、超级高铁和地下隧道