【快学springboot】使用springboot发送邮件

前言

在实际项目中,常常须要用到邮件通知功能。好比,用户经过邮件注册,经过邮件找回密码等;又好比经过邮件发送系统状况,经过邮件发送报表信息等等,实际应用场景不少。这篇文章,就教你们经过springboot快速的实现一个发送邮件的功能。java

开启smtp

这里以QQ邮箱为例。登陆QQ邮箱以后,点击设置,点击帐户。以下图:spring

点击开启IMAP/SMTP服务。springboot

记下QQ邮箱提示的受权码:app

这个受权码,就是发送邮件时须要的密码。spring-boot

以上步骤完成以后,就能够开始开发了。spa

引入依赖

在springboot项目中,引入以下依赖:3d

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
</dependency>
复制代码

配置文件

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

application.properties

spring.mail.host=smtp.qq.com
spring.mail.username=happyjava@foxmail.com
spring.mail.password=xxxxxxxx
spring.mail.protocol=smtp
spring.mail.default-encoding=UTF-8
复制代码

由于是QQ邮箱,因此host须要使用smtp.qq.com。若是是其它邮箱,搜索下便可找到。cdn

username为邮箱帐号,password为上面步骤中提到的受权码。xml

注入JavaMailSender实例

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

@Autowired
private JavaMailSender javaMailSender;
复制代码

发送普通邮件

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

@Test
public void testSend() throws MessagingException {
    SimpleMailMessage message = new SimpleMailMessage();
    message.setFrom("happyjava@foxmail.com");
    message.setTo("1015030682@qq.com");
    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("happyjava@foxmail.com");
    messageHelper.setTo("1015030682@qq.com");
    messageHelper.setText("<h1>标题</h1><br/><p>这是内容</p>", true);
    javaMailSender.send(messageHelper.getMimeMessage());
}
复制代码

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

运行方法查看结果:

能够看到,h1的样式已经出来了。

总结

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

相关文章
相关标签/搜索