使用SpringBoot发送邮件

使用SpringBoot发送邮件

点击上方蓝字关注我!



电子邮件服务器

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

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

  • 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发送邮件

开启后需要生成授权码

使用SpringBoot发送邮件

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

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

使用SpringBoot发送邮件

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

SpringBoot发送邮

导入Maven jar包

<!--邮件-->
<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文件配置

#邮件配置
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为上面生成的授权码,不是你邮箱的登录密码哦。

编写邮件发送方法

使用SpringBoot发送邮件

发送结果

使用SpringBoot发送邮件

如果我们要发送附件

使用SpringBoot发送邮件

发送结果如下图

使用SpringBoot发送邮件

如果需要在正文插入图片

使用SpringBoot发送邮件

发送结果如下

使用SpringBoot发送邮件

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

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

使用SpringBoot发送邮件

thymeleaf-mail.html内容如下

<!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>

编写发送代码

使用SpringBoot发送邮件

测试结果如下

使用SpringBoot发送邮件

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




往期推荐




使用SpringBoot发送邮件
使用SpringBoot发送邮件

扫码二维码

获取更多精彩

Lvshen_9

使用SpringBoot发送邮件
使用SpringBoot发送邮件

原文始发于微信公众号(Lvshen的技术小屋):使用SpringBoot发送邮件

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/262545.html

(0)
Java朝阳的头像Java朝阳

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!