场景

项目搭建专栏:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/column/info/35688

实现最简单的带标题以及文本内容的邮件发送。使用qq邮件服务器。

实现

项目中引入邮件依赖

<!-- 邮件依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency>

找到项目的全局配置文件application.properties

将username改为要发送邮件的账号,这里是qq邮箱账号

下面password设置为qq邮箱的授权码

#JavaMail邮件发送的配置
#指明邮件发送服务器  如果是163的则为smtp.163.com
spring.mail.host=smtp.qq.com
spring.mail.username=
#授权码qq邮箱需要设置并获取授权码  163则直接为邮箱密码
spring.mail.password=
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true

qq邮箱设置授权码:

qq邮箱--设置--账户--POP3/SMTP服务

开启服务后就会获得qq的授权码

在项目下新建email包

在email包下新建配置类实现从全局配置文件中获取自定义属性

package com.example.demo.email;import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class EmailConfig {@Value("${spring.mail.username}")private String emailFrom;public String getEmailFrom() {return emailFrom;}public void setEmailFrom(String emailFrom) {this.emailFrom = emailFrom;}}

新建接口EmailService,有一个发送邮件的方法。

package com.example.demo.email;import org.springframework.stereotype.Service;@Service
public interface EmailService {void sendSimpleMail(String senfTo,String title,String content);
}

新建接口实现类

package com.example.demo.email;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Service;
@Service
public class EmailServiceImpl implements EmailService {@Autowiredprivate EmailConfig emailConfig;@Autowiredprivate JavaMailSender mailSender;@Overridepublic void sendSimpleMail(String sendTo, String title, String content) {//简单邮件的发送SimpleMailMessage message = new SimpleMailMessage();message.setFrom(emailConfig.getEmailFrom());message.setTo(sendTo);message.setSubject(title);message.setText(content);mailSender.send(message);}}

通过SimpleMailMessage 设置要发送邮件的账号以及标题和内容。

然后使用JavaMailSender 实现发送邮件。

新建controller实现测试邮件发送。

package com.example.demo.email;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;@Controller
public class EmailController {@Autowiredprivate EmailService emailService;@RequestMapping("simpleEmail")@ResponseBodypublic String sendSimpleEmail() {emailService.sendSimpleMail("****@qq.com", "测试", "简单邮件");return "success";}
}

sendSimpleMail方法第一个参数就是要发送的邮箱账号。

项目启动类下添加此包为可扫描。

@SpringBootApplication(scanBasePackages= {"com.example.demo.controller","com.example.demo.service","com.example.demo.interceptor","com.example.demo.handler","com.example.demo.job","com.example.demo.email"})

启动项目,访问

http://localhost:8080/simpleEmail

可以看到浏览器返回success,然后收到邮件。

效果

源码下载

https://download.csdn.net/download/badao_liumang_qizhi/11114781

SpringBoot中整合Mail实现发送邮件相关推荐

  1. SpringBoot中整合Mail实现发送模板邮件

    场景 项目搭建专栏: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/column/info/35688 实现最简单的带标题以及文本内容的邮件发送: https:/ ...

  2. SpringBoot中整合Mail实现发送带附件的邮件

    场景 项目搭建专栏: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/column/info/35688 实现最简单的带标题以及文本内容的邮件发送: https:/ ...

  3. springboot中整合mybatis及简单使用

    springboot中整合mybatis及简单使用 1.引入依赖 2.在applicaiton.yaml中配置数据源以及mybatis 3.创建sql测试表 4.编写mapper接口和mapper.x ...

  4. 【SpringBoot】43、SpringBoot中整合RabbitMQ实现延时队列(延时插件篇)

    死信队列实现篇,参考文章:[SpringBoot]60.SpringBoot中整合RabbitMQ实现延时队列(死信队列篇) 一.介绍 1.什么是延时队列? 延时队列即就是放置在该队列里面的消息是不需 ...

  5. 在SpringBoot中整合使用Netty框架提供WebSocket服务

    在SpringBoot中整合使用Netty框架 Netty是一个非常优秀的Socket框架.如果需要在SpringBoot开发的app中,提供Socket服务,那么Netty是不错的选择. Netty ...

  6. 【SpringBoot】44、SpringBoot中整合JWT实现Token验证(整合篇)

    什么是JWT? Json web token (JWT),是为了在网络应用环境间传递声明而执行的一种基于 JSON 的开放标准((RFC 7519),该 token 被设计为紧凑且安全的,特别适用于分 ...

  7. 【SpringBoot】22、SpringBoot中整合knife4j接口文档

    在项目开发中,web项目的前后端分离开发,APP开发,需要由前后端工程师共同定义接口,编写接口文档,之后大家都根据这个接口文档进行开发,到项目结束前都要一直维护 接口文档使得项目开发过程中前后端工程师 ...

  8. 【SpringBoot】3、SpringBoot中整合Thymeleaf模板引擎

    SpringBoot 为我们提供了 Thymeleaf 自动化配置解决方案,所以我们在 SpringBoot 中使用 Thymeleaf 非常方便 一.简介 Thymeleaf是一个流行的模板引擎,该 ...

  9. exchange无法收发邮件_SpringBoot2.x系列教程69--SpringBoot中整合Mail实现邮件发送

    SpringBoot2.x系列教程69--SpringBoot中整合邮件发送 作者:一一哥 注: 本文案例以QQ邮箱发送的实现为例! 一. 邮件发送概述 1. 概述 在Spring框架中提供了一个Ja ...

最新文章

  1. 硬核!Python 四种变量的代码对象和反汇编分析
  2. 新站长更要努力做好SEO相关的优化
  3. linux组手机nas,linux 搭建nas服务器
  4. 上清华到底有多难?清华大学保送生的数学试题了解一下
  5. tensorrt安装_基于TensorRT的BERT推断加速与服务部署
  6. Eclipse-class文件中文乱码
  7. hdu1711 Number Sequence kmp模板
  8. nc加载不了java,用友NC系统使用过程中常见问题和解决方法
  9. Mac下Idea快捷键总结(不断更新)
  10. 最小生成树——贪心算法
  11. Oracle“ ORA-12162:TNS:net服务名称指定不正确”错误和解决方案
  12. java 正则表达式match_详解正则表达式匹配方法 match()
  13. 威廉玛丽学院计算机专业,威廉玛丽学院CS排名2020年掌握的流程盘点
  14. 比较横截面与时间序列的因子模型
  15. Spring AOP 之 Introductions
  16. 红米k50至尊版和小米12spro区别 哪个好
  17. 零基础制作【武林外传】辅助工具(一)
  18. Python 凯撒密码
  19. 金蝶中间件AAS无法访问管理平台提示404
  20. python 生成随机邮箱

热门文章

  1. 肖邦夜曲21_原装进口 | 肖邦夜曲全集 鲁宾斯坦 钢琴经典 2CD
  2. list set map 各自实现类的区别以及它们的底层原理和实现(部分)
  3. 公众号知道我浏览他吗_微信公众平台文章能看到访客吗?
  4. java虚成员函数_Java常见知识点汇总(④)——虚函数、抽象函数、抽象类、接口...
  5. sqlserver exec查询存储过程取某一个字段_ORC文件存储格式的深入探究
  6. 来电通java版_我的世界基岩版1.19正式版下载-我的世界基岩版1.19下载手机版v1.19...
  7. mysql创建读写账号_mysql创建读写账号及服务相关优化配置
  8. jq 直接调用php文件_js调用php和php调用js的方法举例
  9. 除硬件外计算机系统不可缺少的是,除硬件外,计算机系统不可缺少的另外一部分是( )。...
  10. Tensorflow-Estimator-自定义估算器