「这是我参与2022首次更文挑战的第1天,活动详情查看:2022首次更文挑战」
嗨,家人们,我是bug菌呀,我又来啦。今天我们来聊点什么咧,OK,接着为大家更《springboot零基础入门教学》系列文章吧。希望能帮助更多的初学者们快速入门!
一:前言
今天临时接到一个需求,要求bug菌实现一个定时发送邮件的功能,并要求一天搞定。接收到这个需求的第一反应,好家伙,这不是很简单,告诉我发件人收件人邮箱地址等相关信息,我一刻钟就给它搞定,小伙伴们,你们有写过类似发送邮件业务么?如果没有,那可以看看bug菌是怎么实现的吧。
小伙伴们如果批阅完文章对你有一丝帮助,还请别吝啬你的赞呀,欢迎点赞、关注、留言呀。您的素质三连即是对bug菌我写作道路上最好的鼓励与加油!
好了,咱们就开始这期的内容吧。
二、准备工作
先给大家透露下,我会把这个功能点分多篇进行零一教学,目的是为了不造成篇幅太长从而导致小伙伴们视觉疲劳,没有欲望阅读完。所以还请部分小伙伴多担待哈~~~
就以qq邮箱为例给大家做演示吧。
1、开通POP3/SMTP服务
1、如何开通你发送邮箱的POP3/SMTP服务呢?我会教大家的,咱们往下看。
至于为什么开通,我待会给大家演示一下,如果不开通,会出现什么问题?先教大家如何开通,如下是步骤:a->b->c->d->e
a、网页登录qq邮箱,首页点击邮箱设置,然后点击面包屑-账户
b、往下滑,找到POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务 ;然后点击POP3 最右边的开启。
c、点开开启会弹出一个框,让你进行短信验证开通。
d、进行手机短信发送,发送完后,点击【我已发送】。
短信内容为:‘配置邮件客户端’
发送至号码:‘1069070069’
e、短信发送成功后,邮箱界面会弹出一个窗口,具体如下,表示成功开启,切记,这串授权码务必拷贝下来,随便找个地儿存放,后面必须要用,要不然你还得再申请一个授权码。
2、引入spring-boot-starter-mail 依赖。
由于Springboot有对邮件发送等功能做集成,那我们就直接使用该starter进行操作吧,后续再扒源码进行深入研究。
即我们在pom文件中引入该starter-mail依赖即可。
<!--邮件通知-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail</artifactId>
</dependency>
复制代码
3、application-dev.yaml文件配置
spring:
mail:
host: smtp.qq.com # 配置 smtp 服务器地址
port: 587 #smtp 服务器的端口
username: [email protected] #配置邮箱用户名;你自己的邮箱
password: iptxxxxxkbffjbdhg #配置申请到的授权码;这里填写刚才短信申请到的授权码
default-encoding: UTF-8 #配置邮件编码
# 配饰 SSL 加密工厂
properties:
mail:
smtp:
socketFactoryClass: javax.net.ssl.SSLSocketFactory
debug: true #开启 DEBUG 模式
复制代码
按顺序如上操作3个步骤,发送邮件的环境配置就完事了,磨刀不误砍柴工嘛,接下来我再来回答大家的疑问吧。
三、不开通POP3/SMTP服务会如何?
我不开通,直接配置完,然后直接写了个test测试类进行邮件发送,报错啦,不是吧?哦吼,原来如此,再执行一遍,真报错啦啊?然后针对报错进行研究。配置文件的password 我一开始就是填的是邮箱号密码,结果就报错,然后根据报错,才反应,qq邮箱指引我要开启该服务。不过,你们也可以试试,这样印象会加深一点。
如下是报错源码:
org.springframework.mail.MailAuthenticationException: Authentication failed;
nested exception is javax.mail.AuthenticationFailedException: 535 Login Fail.
Please enter your authorization code to login.
More information in http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=28&&no=1001256
复制代码
麻烦自己解读一下,哈哈哈,这下就明白了吧,报错肯定是不予推荐,这也是qq邮箱账户的保护机制啦,要不然被窃取到账户密码,随便就能拿来做发送源,你们想想,是不是这样?
... ...
OK,以上就是这期所有的内容啦,如果有任何问题欢迎评论区批评指正,咱们下期见。
四、往期热门推荐
Springboot系列(十二):如何代码实现发送邮件提醒(上篇)
Springboot系列(十二):如何代码实现发送邮件提醒(中篇)
Springboot系列(十二):如何代码实现发送邮件提醒(下篇)
Springboot系列(十二):如何代码实现发送邮件提醒(完结篇)
... ...
如果还想要学习更多,小伙伴们可关注bug菌专门为大家创建的专栏《SpringBoot零基础入门》,从无到有,从零到一!希望能帮到大家。
*************************************************************************************
做你想做的人,没有时间限制,只要愿意,什么时候都可以start,
你能从现在开始改变,也可以一成不变,这件事,没有规矩可言,你可以活出最精彩的自己。
*************************************************************************************
❤ 如果文章对您有所帮助,就请在文章末尾的左上角把大拇指点亮吧!(#^.^#);
❤ 如果喜欢bug菌分享的文章,就请给bug菌点个关注吧!(๑′ᴗ‵๑)づ╭❤~;
❤ 如果对文章有任何问题,欢迎小伙伴们下方留言或者入群探讨【扣扣群号:708072830】;
❤ 鉴于个人经验有限,所有观点及技术研点,如有异议,请直接回复参与讨论(请勿发表攻击言论,谢谢);
❤ 版权声明:本文为博主原创文章,转载请附上原文出处链接和本文声明,版权所有,盗版必究!(*^▽^*);