Spring Boot实现发送邮件
发送邮件
在web开发中,发送邮件是一个很常用的功能,Spring Boot也集成了发送邮件的功能
基本使用
使用Spring Boot的发送邮件功能,需要导入邮件的starter依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>
配置邮件发送服务器的配置,如果是qq邮箱,password属性为邮箱的授权码
spring: mail: host: smtp.qq.com username: 425017255@qq.com password: xxxxxxxx properties: mail.smtp.ssl.enable: true
创建一个简单邮件对象SimpleMailMessage,设置邮件的主题,内容,发件人和收件人,然后自动注入JavaMailSenderImpl对象,使用这个对象的send方法发送邮件
@SpringBootTest class DemoApplicationTests { @Autowired JavaMailSenderImpl mailSender; @Test void contextLoads() { SimpleMailMessage message = new SimpleMailMessage(); message.setSubject("测试邮件"); message.setText("这是一封测试邮件"); message.setTo("blackball1998@outlook.com"); message.setFrom("425017255@qq.com"); mailSender.send(message); } }
这样就可以发送简单邮件了
发送复杂邮件
发送复杂邮件,可以使用发送类的createMimeMessage方法创建一个复杂邮件对象MimeMessage,这个方法还有一个重载方法,可以读取IO流创建邮件对象
创建一个用于设置邮件的对象MimeMessageHelper,这个对象可以设置多种邮件的常用属性,这里以设置附件为例
@SpringBootTest class DemoApplicationTests { @Autowired JavaMailSenderImpl mailSender; @Test void contextLoads() throws MessagingException { MimeMessage message = mailSender.createMimeMessage(); MimeMessageHelper messageHelper = new MimeMessageHelper(message, true, "utf-8"); messageHelper.setSubject("测试复杂邮件"); // 设置带样式的正文,使用html的方式设置样式 messageHelper.setText("<h1>这是一封测试邮件</h1><p style='color:red'>请查收附件</p>",true); // 读取本地的一个文件,设置邮件的附件 messageHelper.addAttachment("附件1.jpg",new File("1.png")); messageHelper.addAttachment("附件2.jpg",new File("2.png")); messageHelper.setTo("blackball1998@outlook.com"); messageHelper.setFrom("425017255@qq.com"); mailSender.send(message); } }
设置好邮件的属性,然后用发送类发送邮件,就可以收到复杂邮件
邮件中的附件也可以打开
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
Java中Date,Calendar,Timestamp的区别以及相互转换与使用
以下是对Java中Date,Calendar,Timestamp的区别以及相互转换与使用进行了详细的介绍,需要的朋友可以过来参考下2013-09-09SpringBoot 整合 Netty 多端口监听的操作方法
Netty提供异步的、基于事件驱动的网络应用程序框架,用以快速开发高性能、高可靠性的网络 IO 程序,是目前最流行的 NIO 框架,这篇文章主要介绍了SpringBoot 整和 Netty 并监听多端口,需要的朋友可以参考下2023-10-10springBoot集成mybatis 转换为 mybatis-plus方式
这篇文章主要介绍了springBoot集成mybatis 转换为 mybatis-plus方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-12-12详解如何在spring boot中使用spring security防止CSRF攻击
这篇文章主要介绍了详解如何在spring boot中使用spring security防止CSRF攻击,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-05-05
最新评论