计算机系统应用教程网站

网站首页 > 技术文章 正文

「快学springboot」使用springboot实现发送邮件功能

btikc 2024-10-21 04:15:21 技术文章 6 ℃ 0 评论

前言

在实际项目中,经常需要用到邮件通知功能。比如,用户通过邮件注册,通过邮件找回密码等;又比如通过邮件发送系统情况,通过邮件发送报表信息等等,实际应用场景很多。这篇文章,就教大家通过springboot快速的实现一个发送邮件的功能。

引入依赖

在springboot项目中,引入如下依赖:

<dependency>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

配置文件

在springboot项目中引入依赖之后,即可在其配置文件中配置邮箱的参数:

application.properties

不同的邮箱,host的配置不一样。如果是其它邮箱,搜索下即可找到。

username为邮箱账号,password为邮箱的授权码(不是密码,需要在邮箱的设置页面中开启smtp)。

注入JavaMailSender实例

邮箱参数配置完之后,即可直接注入JavaMailSender实例。

@Autowired
private JavaMailSender javaMailSender;

发送普通邮件

普通邮件,没有样式。实现起来最容易:

@Test
public void testSend() throws MessagingException {
 SimpleMailMessage message = new SimpleMailMessage();
 message.setFrom("发送者邮箱地址");
 message.setTo("接受者邮箱地址");
 message.setSubject("这是标题");
 message.setText("这是内容");
 javaMailSender.send(message);
}

From需要和配置文件中的username一致,否则会报错。

To为邮件接收者;

Subject为邮件的标题;

Text为邮件的内容。

运行方法,即可收到邮件:

发送HTML邮件

很多时候,我们需要邮件带有美观的样式。这时候,可以使用HTML的样式。我们需要使用javaMailSender的createMimeMessage方法,构建一个MimeMessage,然后使用MimeMessage实例创建出MimeMessageHelper。如下:

@Test
public void testSend() throws MessagingException {
 MimeMessage mimeMessage = javaMailSender.createMimeMessage();
 MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage);
 messageHelper.setSubject("标题");
 messageHelper.setFrom("发送者邮箱地址");
 messageHelper.setTo("接受者邮箱地址");
 messageHelper.setText("<h1>标题</h1><br/><p>这是内容</p>", true);
 javaMailSender.send(messageHelper.getMimeMessage());
}

这里需要注意的是,setText的时候需要传一个布尔值进去,表名需要使用HTML样式。

运行方法查看结果:

可以看到,h1的样式已经出来了。

总结

本文讲解了如何在springboot中快速的发邮件。介绍了两种发送邮件的方式:1、普通模式;2、HTML模式。其实还支持多种丰富的模式,比如模板引擎等,这里就不讲解了,其实使用起来大同小异。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表