前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >使用SpringBoot发送邮件

使用SpringBoot发送邮件

作者头像
Lvshen
发布2022-05-05 17:31:02
发布2022-05-05 17:31:02
78900
代码可运行
举报
运行总次数:0
代码可运行

电子邮件服务器

电子邮件服务器类比于现实中的邮局。用户发邮件时,会将邮件发送到邮件服务器,邮件服务器将邮件再发送到接收方的电子邮箱中。

邮件服务器又可以分为两种类型:

  • SMTP邮件服务器:替用户发送邮件和接收外面发送给本地用户的邮件。
  • POP3/IMAP邮件服务器:帮助用户读取SMTP邮件服务器接收进来的邮件。

邮件传输协议

邮件传输协议有如下几种

  • SMTP协议:全称为 Simple Mail Transfer Protocol,简单邮件传输协议。它定义了邮件客户端软件和SMTP邮件服务器之间,以及两台SMTP邮件服务器之间的通信规则。
  • POP3协议:全称为 Post Office Protocol,邮局协议。它定义了邮件客户端软件和POP3邮件服务器的通信规则。
  • IMAP协议:全称为 Internet Message Access Protocol,Internet消息访问协议,它是对POP3协议的一种扩展,也是定义了邮件客户端软件和IMAP邮件服务器的通信规则。

邮箱开启SMTP/IMAP服务

以QQ邮箱为例

开启后需要生成授权码。

我为什么选择SpringBoot框架来发送邮件

我们来看看纯Java代码发邮件。

send方法就如此之长,而SpringBoot将发送功能封装好了。接下来你将看到用SpringBoot发送邮件是如何的简单。

SpringBoot发送邮

导入Maven jar包

代码语言:javascript
代码运行次数:0
运行
复制
<!--邮件-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-mail</artifactId>
</dependency>

<!--模板引擎-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

这里的模板引擎后面需要,这里先导入进来。

application.properties文件配置

代码语言:javascript
代码运行次数:0
运行
复制
#邮件配置
spring.mail.host=smtp.qq.com
spring.mail.port=587
spring.mail.username=1587xx3453@qq.com
spring.mail.password=yurzjzmreurpgfdghalouke
spring.mail.default-encoding=UTF-8
spring.mail.properties.mail.smtp.socketFactoryClass=javax.net.ssl.SSLSocketFactory
spring.mail.properties.mail.debug=true

如果是QQ邮箱发送,你只需要修改usernamepasswordpassword为上面生成的授权码,不是你邮箱的登录密码哦。

编写邮件发送方法

发送结果

如果我们要发送附件

发送结果如下图

如果需要在正文插入图片

发送结果如下

当然我们也可以使用模板引擎

resources/templates目录下创建文件thymeleaf-mail.html文件。

thymeleaf-mail.html内容如下

代码语言:javascript
代码运行次数:0
运行
复制
<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<p>嗨!欢迎关注我的博客:Lvshen的技术小屋:</p>
<table border="1">
    <tr>
        <td>姓名</td>
        <td th:text="${username}"></td>
    </tr>
    <tr>
        <td>性别</td>
        <td th:text="${sex}"></td>
    </tr>
    <tr>
        <td>爱好</td>
        <td th:text="${hobby}"></td>
    </tr>
</table>
<div style="color: #ff1a0e">关注我获取Java学习资料哦</div>
</body>
</html>

编写发送代码

测试结果如下

如果你没有开发过邮件发送或正在开发邮件发送的功能,希望这篇文章可以帮到你。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-09-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Lvshen的技术小屋 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 电子邮件服务器
  • 邮件传输协议
  • 邮箱开启SMTP/IMAP服务
  • 我为什么选择SpringBoot框架来发送邮件
    • SpringBoot发送邮
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档