600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > java springboot借助qq邮箱发送验证码

java springboot借助qq邮箱发送验证码

时间:2020-04-13 19:54:10

相关推荐

java springboot借助qq邮箱发送验证码

1.起因

主流的短信验证无论是阿里云还是腾讯云,都是需要收费的,且一般需要企业认证才可以使用。作为学习,我们可以选择无门槛的qq邮箱验证登录的方式.

2.步骤

2.1

访问qq邮箱官网qq邮箱,打开QQ邮箱--> 设置 --> 账号 -- > 开启服务:POP3/SMTP服务 然后在生成授权码,并将授权码保存下来 如图:

这里他会让你用手机号发送短信,照做即可,完成后会给你一个授权码注意保存下来。

2.2

导入相关的maven依赖

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency>

2.3

在spring boot配置文件application.yml中增加一项mail配置

spring:mail:username: {qq邮箱地址}password: {生成的授权码}host: properties:mail:smtp:ssl:enable: true

2.4 封装相应的api进行调用,示例如下,这里的R是自己封装的返回结构(写过实战项目的应该都知道)

@Autowiredprivate JavaMailSenderImpl mailSender; //报红但可以用@Value("${spring.mail.username}")private String username; // 邮件发送人@Overridepublic R<String> sendMsg(String email, String code) {//发送到邮箱SimpleMailMessage mailMessage = new SimpleMailMessage();mailMessage.setSubject("尊敬的用户您好:"); //头文件mailMessage.setText("你的验证码为:"+code+";请勿泄露"); //内容mailMessage.setTo(email); //接收者mailMessage.setFrom(username); //发送者mailSender.send(mailMessage);return R.error("验证码发送失败,请稍后重试");}

补充:前端有时会对邮箱格式进行校验,校验邮箱的正则表达式是:

const regex = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。