使用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发送邮件_第1张图片

开启后需要生成授权码。

使用SpringBoot发送邮件_第2张图片

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

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

使用SpringBoot发送邮件_第3张图片

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

SpringBoot发送邮

导入Maven jar包



    org.springframework.boot
    spring-boot-starter-mail




    org.springframework.boot
    spring-boot-starter-thymeleaf

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

application.properties文件配置

#邮件配置
spring.mail.host=smtp.qq.com
spring.mail.port=587
[email protected]
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发送邮件_第4张图片

发送结果

使用SpringBoot发送邮件_第5张图片

如果我们要发送附件

使用SpringBoot发送邮件_第6张图片

发送结果如下图

使用SpringBoot发送邮件_第7张图片

如果需要在正文插入图片

使用SpringBoot发送邮件_第8张图片

发送结果如下

使用SpringBoot发送邮件_第9张图片

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

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

使用SpringBoot发送邮件_第10张图片

thymeleaf-mail.html内容如下




    
    Title


嗨!欢迎关注我的博客:Lvshen的技术小屋:

             姓名                            性别                            爱好               关注我获取Java学习资料哦

编写发送代码

使用SpringBoot发送邮件_第11张图片

测试结果如下

使用SpringBoot发送邮件_第12张图片

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

往期推荐

  • 我写出这样干净的代码,老板直夸我

  • 云南丽江旅游攻略

  • 使用ThreadLocal怕内存泄漏?

  • Java进阶之路思维导图

  • 程序员必看书籍推荐

  • 3万字的Java后端面试总结(附PDF)

扫码二维码,获取更多精彩。或微信搜Lvshen_9,可后台回复获取资料

1.回复"java" 获取java电子书;


2.回复"python"获取python电子书;


3.回复"算法"获取算法电子书;


4.回复"大数据"获取大数据电子书;


5.回复"spring"获取SpringBoot的学习视频。


6.回复"面试"获取一线大厂面试资料


7.回复"进阶之路"获取Java进阶之路的思维导图


8.回复"手册"获取阿里巴巴Java开发手册(嵩山终极版)


9.回复"总结"获取Java后端面试经验总结PDF版


10.回复"Redis"获取Redis命令手册,和Redis专项面试习题(PDF)


11.回复"并发导图"获取Java并发编程思维导图(xmind终极版)

另:点击【我的福利】有更多惊喜哦。

你可能感兴趣的:(Spring,邮件,java,spring,boot,spring,web)