首先加代码配置文件来一个

mail.properties

mail.smtp.host=smtp.qq.commail.smtp.port=465mail.smtp.SSLport=587mail.smtp.starttlsEnable=truemail.smtp.auth=truemail.smtp.account=11036128@qq.commail.smtp.password=qrqzbcfslyhaaimail.smtp.timeout=50000mail.smtp.connectiontimeout=50000mail.smtp.nickname=ewe

我使用的是腾讯qq邮箱

首先要去腾讯qq的设置===》账户》》开通授权码,第三方登陆需要授权码当成密码使用

然后在springboot引入这个配置文件

package com.ewe.core.utils;import java.util.Arrays;
import java.util.Date;
import java.util.List;
import java.util.Properties;import javax.mail.Message;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.PropertySource;
import org.springframework.stereotype.Component;import com.ewe.core.datasource.TransactionAspect;
import com.ewe.user.model.BatchSendMessage;
@Component
@ConfigurationProperties(prefix="mail.smtp")
@PropertySource("mail.properties")
public class MailUtil {//("${mail.smtp.host}")private String host;//("${mail.smtp.port}")private String port;//("${mail.smtp.SSLport}")private String SSLport;//("${mail.smtp.starttlsEnable}")private String starttlsEnable;//("${mail.smtp.auth}")private String auth;//("${mail.smtp.connectiontimeout}")private String connectiontimeout;//("${mail.smtp.account}")private String account;//("${mail.smtp.password}")private String password;//("${mail.smtp.timeout}")private String timeout;private String nickname ="ewe";//发送者,显示的发件人名字protected static Log LOGGER = LogFactory.getLog(MailUtil.class);//带CC(抄送)的邮件发送public boolean sendSSLEmailWithCC(List<String> listEmails, List<String>  cc, String title, String content ,List<String> bcc) throws Exception {LOGGER.info("开始发送邮件,email==>"+listEmails+",title==>"+title);Properties props = System.getProperties();props.put("mail.smtp.host", host);// 指定协议  props.put("mail.transport.protocol", "smtp");  props.put("mail.smtp.port", SSLport);props.put("mail.smtp.starttls.enable", starttlsEnable);props.put("mail.smtp.auth", auth);props.put("mail.smtp.connectiontimeout", connectiontimeout);props.put("mail.smtp.timeout", timeout);props.put("mail.smtp.debug", true);Transport transport = null;Session session = Session.getDefaultInstance(props, null);transport = session.getTransport("smtp");transport.connect(host, account, password);MimeMessage msg = new MimeMessage(session);msg.setSentDate(new Date());InternetAddress fromAddress = new InternetAddress(account,nickname);msg.setFrom(fromAddress);InternetAddress[] toAddress = new InternetAddress[listEmails.size()];for(int k = 0;k<listEmails.size();k++){String emailAddress = listEmails.get(k);new InternetAddress(emailAddress);toAddress[k]=new InternetAddress(emailAddress);}LOGGER.debug("当前需要发送邮件的地址信息============>{}"+Arrays.deepToString(toAddress));msg.addRecipients(Message.RecipientType.TO, toAddress);//增加CC功能if(cc != null) {InternetAddress[] ccAddress = new InternetAddress[cc.size()];for(int k = 0;k<cc.size();k++){String emailAddress = cc.get(k);new InternetAddress(emailAddress);ccAddress[k]=new InternetAddress(emailAddress);}msg.addRecipients(Message.RecipientType.CC, ccAddress);}//增加BCC功能if(bcc != null) {InternetAddress[] bccAddress = new InternetAddress[bcc.size()];for(int k = 0;k<bcc.size();k++){String emailAddress = bcc.get(k);new InternetAddress(emailAddress);bccAddress[k]=new InternetAddress(emailAddress);}msg.addRecipients(Message.RecipientType.BCC, bccAddress);}msg.setSubject(title, "UTF-8");  //发送文本邮件msg.setContent(content, "text/html; charset=utf-8");transport.sendMessage(msg, msg.getAllRecipients());LOGGER.info("邮件已发送");return true;}public String getHost() {return host;}public void setHost(String host) {this.host = host;}public String getPort() {return port;}public void setPort(String port) {this.port = port;}public String getSSLport() {return SSLport;}public void setSSLport(String sSLport) {SSLport = sSLport;}public String getStarttlsEnable() {return starttlsEnable;}public void setStarttlsEnable(String starttlsEnable) {this.starttlsEnable = starttlsEnable;}public String getAuth() {return auth;}public void setAuth(String auth) {this.auth = auth;}public String getConnectiontimeout() {return connectiontimeout;}public void setConnectiontimeout(String connectiontimeout) {this.connectiontimeout = connectiontimeout;}public String getAccount() {return account;}public void setAccount(String account) {this.account = account;}public String getPassword() {return password;}public void setPassword(String password) {this.password = password;}public String getTimeout() {return timeout;}public void setTimeout(String timeout) {this.timeout = timeout;}public static Log getLOGGER() {return LOGGER;}public static void setLOGGER(Log lOGGER) {LOGGER = lOGGER;}public String getMailTitle() {return nickname;}public void setMailTitle(String nickname) {this.nickname = nickname;}}

测试可用

依赖maven加的是

      <!-- email --><dependency><groupId>com.sun.mail</groupId><artifactId>javax.mail</artifactId><version>1.5.4</version></dependency>

里面的一些port 是不加密 SSLport是加密的

javaMail 的邮件发送包括了抄送(CC),密送(BCC)采用springBoot相关推荐

  1. 采用SpringBoot发送简单、抄送、密送、带附件邮件

    前言:JavaMail发送邮件的形式多种多样,有简单.抄送.密送.带附件邮件等. 1. 业务需求 实现邮件的简单.抄送.密送和带附件发送四种方式. 2. 实现步骤     在这里,我使用QQ邮箱作为测 ...

  2. java邮箱设置密送_修改后可以发送附件、抄送、密送的javabean,吐血推荐~(javamail范例)...

    修改后可以发送附件.抄送.密送的javabean,吐血推荐~(javamail范例) 作者:Andy.m    文章来源:www.jspcn.net 发布日期:2004年02月16日 /* *Auth ...

  3. SpringBoot邮件发送(抄送、密送、图片、多文件等一应俱全哦)

    人生若只如初见,何事秋风悲画扇. 下班回去听到室友讲到他们项目正在写一个邮件发送,突然手痒写此功能,后来总结形成该文,希望对大家有帮助! 本文非常详细且实用,是不是干货你说了算! 所用:springb ...

  4. java 邮件发送_Java 基于JavaMail的邮件发送

    http://blog.csdn.net/xietansheng/article/details/51673073 http://blog.csdn.net/xietansheng/article/d ...

  5. 【_ 記 】发送邮件功能和MimeMessageHelper 对象下的To Cc Bcc(发送,抄送,密送)

    MimeMessageHelper 对象下的To Cc Bcc(发送,抄送,密送) MimeMailService config.properties 配置文件,把邮件发送的host port use ...

  6. 使用javamail进行邮件发送

    使用javamail进行邮件发送 // 在javax.mail包中的类,需要引入的. import javax.activation.DataHandler; import javax.activat ...

  7. SpringBoot整合Javamail实现邮件发送

    博客主页:踏风彡的博客 博主介绍:一枚在学习的大学生,希望在这里和各位一起学习. 所属专栏:SpringBoot学习笔记 文章创作不易,期待各位朋友的互动,有什么学习问题都可在评论区留言或者私信我,我 ...

  8. .net jMail邮件发送(含抄送、密送、多发、日志记录)

    jmail是一个第三方邮件操作组件,通常位于web服务器端,实现收邮件及发邮件功能(客户端用Foxmail这类就很好了).可以利用它轻松实现发邮件.抄送.密送.多发.日志记录及收邮件功能.本章要讲的, ...

  9. java发送邮件,多人单人发送,抄送,密送,附件

    使用下面的代码发送邮件,需要下载包finereport-1.6.5.jar. 可以发送.抄送.密送多人,多个邮箱之间用逗号分隔",",英文的逗号,不要又空格. 写一个用于密码校验的 ...

最新文章

  1. DataGrid中选择列文本根据绑定数据不同显示为不同颜色的处理办法
  2. 一个好的MIS系统应该考虑哪些内容
  3. 小巧优美的ORM框架-doodads
  4. 教育管理系统——android家长客户端
  5. MyBatis(延迟加载 缓存)
  6. 【图论训练】最小拓扑序
  7. 深入浅出redux知识
  8. the third assignment of software testing
  9. 【Hadoop学习】Super用户以其他用户的名义执行操作
  10. c语言资产管理系统设计报告,(C)固定资产管理系统论文
  11. ps照片人脸合成教程-----------------------------------
  12. Win7 桌面右键一直转圈很慢
  13. 人体红外传感器HC-SR501使用指南
  14. 思维导图怎么画简单好看的直观技巧
  15. 微信投票微信刷票的技巧和意义
  16. 浪涌电流Inrush Current产生原因以及解决方案
  17. 画火柴人动画的手机软件_火柴人动画制作软件(Pivot Stickfigure Animator)2.25 中文版附教程...
  18. 网络爬虫requests和bs4简单入门
  19. 三维电子沙盘数字沙盘可视化大数据人工智能教程MR VR AR M3D GIS第56课
  20. 三维重建之条纹投影结构光(一)

热门文章

  1. html3d粒子球,Canvas粒子系统:3D球体
  2. 以Mapgis与Arcinfo之间的数据转换
  3. 乱象?真象!——中国公有云服务市场大起底
  4. java 图片识别 tess4j_图像文字识别(四):java调用tess4j识别图像文字
  5. 华为更新云空间配置 显示无法连接服务器,更新服务器连接失败
  6. Android 复杂的手势处理利用GestureOverView
  7. 2021-6-9-今日收获
  8. 【拓扑排序+dp】Hzy's Rabbit Candy
  9. 11091 最优自然数分解问题
  10. luhn算法 java_java – 使用luhn算法验证信用卡号