电子邮件服务器
电子邮件服务器类比于现实中的邮局。用户发邮件时,会将邮件发送到邮件服务器,邮件服务器将邮件再发送到接收方的电子邮箱中。
邮件服务器又可以分为两种类型:
“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包
<!--邮件--> <dependency> <groupId>org.;/groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency> <!--模板引擎--> <dependency> <groupId>org.;/groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
这里的模板引擎后面需要,这里先导入进来。
a文件配置
#邮件配置
如果是QQ邮箱发送,你只需要修改username和password。password为上面生成的授权码,不是你邮箱的登录密码哦。
编写邮件发送方法
发送结果
如果我们要发送附件
发送结果如下图
如果需要在正文插入图片
发送结果如下
当然我们也可以使用模板引擎
在resources/templates目录下创建文件文件。
内容如下
<!DOCTYPE html> <html lang="en" xmlns:th=";> <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>
编写发送代码
测试结果如下
如果你没有开发过邮件发送或正在开发邮件发送的功能,希望这篇文章可以帮到你。