返回顶部
首页 > 资讯 > 精选 >如何使用springboot整合redis实现发送邮箱并验证
  • 190
分享到

如何使用springboot整合redis实现发送邮箱并验证

2023-06-22 07:06:12 190人浏览 八月长安
摘要

这篇文章主要为大家展示了“如何使用SpringBoot整合redis实现发送邮箱并验证”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用springboot整合Redis实现发送邮箱并验证”

这篇文章主要为大家展示了“如何使用SpringBoot整合redis实现发送邮箱并验证”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用springboot整合Redis实现发送邮箱并验证”这篇文章吧。

1.起步

pom文件

  <!--集成redis-->        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-redis</artifactId>            <version>1.4.1.RELEASE</version>        </dependency>        <!--邮箱-->        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-mail</artifactId>        </dependency>

下面是yml配置

#设置端口号server:  port: 8080#配置数据源spring:  mail:    #QQ邮箱这不用改    host: smtp.qq.com    #你的邮箱    username: XX@qq.com    #你的授权码    passWord: XXXXXX    default-encoding: UTF-8  redis:    #redis服务器地址    host: XXXXXX    #Redis服务器连接端口    port: 6379    #Redis服务器连接密码(默认为空)    password: XXX    jedis:      pool:        #连接池最大阻塞等待时间(使用负值表示没有限制)        max-wait: 1000        #连接池最大连接数(使用负值表示没有限制)        max-active: 100        #连接池中的最大空闲连接        max-idle: 20        #连接池中的最小空闲连接        min-idle: 0        #连接超时时间(毫秒)    timeout: 30000
邮箱授权码不知道的话QQ邮箱开通一下

如何使用springboot整合redis实现发送邮箱并验证

2.工具

邮箱工具类

package com.example.demo.util;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.mail.MailException;import org.springframework.mail.SimpleMailMessage;import org.springframework.mail.javamail.JavaMailSender;import org.springframework.stereotype.Component;@Componentpublic class MailServiceUtils{    private final Logger logger = LoggerFactory.getLogger(this.getClass());    @Autowired    private JavaMailSender mailSender;        public void sendMail(String from,String to, String subject, String content){        SimpleMailMessage message = new SimpleMailMessage();        message.setFrom(from);        message.setTo(to);        message.setSubject(subject);        message.setText(content);        try {            mailSender.send(message); logger.info("邮件成功发送!");        } catch (MailException e) {            logger.error("发送邮件错误:",e);        }    }}

redis乱码解决

package com.example.demo.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.data.redis.connection.RedisConnectionFactory;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.data.redis.serializer.RedisSerializer;import org.springframework.data.redis.serializer.StringRedisSerializer;@Configurationpublic class Redisconfig {    @Bean(name="redisTemplate")    public RedisTemplate<String, String> redisTemplate(RedisConnectionFactory factory) {        RedisTemplate<String, String> template = new RedisTemplate<>();        RedisSerializer<String> redisSerializer = new StringRedisSerializer();        template.setConnectionFactory(factory);        //key序列化方式        template.seTKEySerializer(redisSerializer);        //value序列化        template.setValueSerializer(redisSerializer);        //value HashMap序列化        template.setHashValueSerializer(redisSerializer);        //key haspmap序列化        template.setHashKeySerializer(redisSerializer);        //        return template;    }}

3.controller搭建

按要求更改

package com.example.demo.controller;import com.example.demo.util.MailServiceUtils;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.scheduling.annotation.Async;import org.springframework.stereotype.Controller;import org.springframework.util.Assert;import org.springframework.WEB.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import javax.annotation.Resource;@Controllerpublic class EmailController {    @Resource    private MailServiceUtils mailServiceUtils;    @Resource    private RedisTemplate<String, Object> redisTemplate;        @PostMapping("/fasong")    @ResponseBody    public String email(String to) {        try {            //生成6位随机数            String i = String.valueOf((int) ((Math.random() * 9 + 1) * 100000));            //发送邮箱            mailServiceUtils.sendMail("XXXXXX@qq.com", to, "验证码", i);            //redis保存验证码            redisTemplate.opsForValue().set(to, i);        } catch (Exception e) {            return "报错";        }        return "OK";    }        @PostMapping("/yz")    @ResponseBody    public String yz(String to, String yzm) {        //根据邮箱帐号取出验证码        String o = (String) redisTemplate.opsForValue().get(to);        if (o.equals(yzm)){            return "OK";        }        return "No";    }    @RequestMapping("/abc")    public String abc() {        return "QQemail";    }}

4.前端搭建

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Title</title></head><body>     <div>         接收方邮箱号 <input type="text" id="to">         <input type="button" value="发送验证码" id="yzm">         验证码<input type="text" id="yz">         <input type="submit" value="验证" id="y">     </div><script type="text/javascript"  src="../static/Jquery-1.8.3.js"></script><script>        $("#yzm").click(function() {        $.ajax({            url : "/fasong",            type : "post",            data : {                "to":$("#to").val()            },            success : function(data) {                alert(data)            }        })    })        $("#y").click(function() {        $.ajax({            url: "/yz",            type: "post",            data: {                "to": $("#to").val(),                "yzm": $("#yz").val()            },            success: function (data) {                alert(data)            }        })    })</script></body></html>

结果

如何使用springboot整合redis实现发送邮箱并验证

如何使用springboot整合redis实现发送邮箱并验证

以上是“如何使用springboot整合redis实现发送邮箱并验证”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: 如何使用springboot整合redis实现发送邮箱并验证

本文链接: https://lsjlt.com/news/303341.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • springboot整合redis实现发送邮箱并验证
    目录1.起步2.工具类邮箱工具类redis乱码解决3.controller搭建4.前端搭建结果总结1.起步 pom文件 <!--集成redis--> ...
    99+
    2024-04-02
  • 如何使用springboot整合redis实现发送邮箱并验证
    这篇文章主要为大家展示了“如何使用springboot整合redis实现发送邮箱并验证”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用springboot整合redis实现发送邮箱并验证”...
    99+
    2023-06-22
  • 使用SpringBoot发送邮箱验证码的简单实现
    目录题外话提前准备2.1 配置邮箱第三方登录2.1.1 点击设置——账户2.1.2 开启POP3/SMTP服务2.2 添加依赖2.3 yaml配置进入主题测试...
    99+
    2023-05-18
    SpringBoot 验证码 SpringBoot 邮箱发送
  • springboot整合mail实现邮箱的发送功能
    第一步添加mail的依赖 <!--引入mail的依赖 --> <dependency> <groupId>org.springfr...
    99+
    2024-04-02
  • java实现发送邮箱验证码
    本文实例为大家分享了java实现发送邮箱验证码的具体代码,供大家参考,具体内容如下 添加依赖 <!-- 邮箱验证码 https://mvnrepository.com/ar...
    99+
    2024-04-02
  • 如何利用node实现发送QQ邮箱验证码
    目录开通QQ邮箱POP3/SMTP服务获取qq邮箱授权码搭建node接口服务开始安装插件开始编写index.js文件程序声明并定于发送邮件函数编写connect、body-parse...
    99+
    2024-04-02
  • nodejs实现发送邮箱验证码功能
    本文实例为大家分享了nodejs实现发送邮箱验证码的具体代码,供大家参考,具体内容如下 今天做了个小demo,是用nodejs实现注册时(当然在别的地方也是可以用的)的邮箱验证功能,...
    99+
    2024-04-02
  • SpringBoot整合Javamail实现邮件发送
    博客主页:踏风彡的博客 博主介绍:一枚在学习的大学生,希望在这里和各位一起学习。 所属专栏:SpringBoot学习笔记 文章创作不易,期待各位朋友的互动,有什么学习问题都可在评论区留言或者私信我...
    99+
    2023-08-31
    spring boot java spring
  • 使用django怎么实现发送验证码注册邮箱
    这篇文章将为大家详细讲解有关使用django怎么实现发送验证码注册邮箱,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。视图代码lis = []#设置一个空列表用来存放发送的...
    99+
    2023-06-14
  • django注册用邮箱发送验证码的实现
    视图代码 lis = []#设置一个空列表用来存放发送的验证码,用来验证 def yzm1(): res1 = "" for i in range(4):#用四...
    99+
    2024-04-02
  • 怎么利用node实现发送QQ邮箱验证码
    这篇文章主要介绍“怎么利用node实现发送QQ邮箱验证码”,在日常操作中,相信很多人在怎么利用node实现发送QQ邮箱验证码问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么利用node实现发送QQ邮箱验证码...
    99+
    2023-06-30
  • nodejs怎么实现发送邮箱验证码功能
    这篇文章主要讲解了“nodejs怎么实现发送邮箱验证码功能”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“nodejs怎么实现发送邮箱验证码功能”吧!1、使用模块:nodemailer安装:n...
    99+
    2023-06-30
  • springboot如何整合邮件发送功能
    这篇文章给大家介绍springboot如何整合邮件发送功能,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。 pom依赖<dependency>    &nbs...
    99+
    2023-06-22
  • 怎么用SpringBoot实现QQ邮箱发送邮件
    本篇内容主要讲解“怎么用SpringBoot实现QQ邮箱发送邮件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用SpringBoot实现QQ邮箱发送邮件”吧!1.获取QQ邮箱授权码2.导入邮...
    99+
    2023-06-22
  • Springboot整合RabbitMQ实现发送验证码的示例代码
    目录1.RabbitMQ的介绍2.搭建环境2.1引入jar包2.2生产者配置2.2.1Rabbit配置类2.2.2application.yml文件配置2.3消费者配置2.3.1消费...
    99+
    2024-04-02
  • 如何使用身份验证发送邮件?
    哈喽!大家好,很高兴又见面了,我是编程网的一名作者,今天由我给大家带来一篇《如何使用身份验证发送邮件?》,本文主要会讲到等等知识点,希望大家一起学习进步,也欢迎大家关注、点赞、收藏、转发! 下面就一...
    99+
    2024-04-05
  • Springboot整合实现邮件发送的原理详解
    目录开发前准备基础知识进阶知识加入依赖配置邮件测试邮件发送通常在实际项目中,也有其他很多地方会用到邮件发送,比如通过邮件注册账户/找回密码,通过邮件发送订阅信息等等。SpringBo...
    99+
    2024-04-02
  • 如何在Flask中使用Flask-WTF实现邮箱验证
    本篇文章为大家展示了如何在Flask中使用Flask-WTF实现邮箱验证,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1、使用Flask-WTF之前,需要安装一个扩展命令pip insta...
    99+
    2023-06-14
  • SpringBoot详解如何整合Redis缓存验证码
    目录1、简介2、介绍3、前期配置3.1、坐标导入3.2、配置文件3.3、配置类4、Java操作Redis1、简介 Redis is an open source (BSD licen...
    99+
    2024-04-02
  • vue中如何实现手机号和邮箱正则验证以及60s发送验证码功能
    这篇文章将为大家详细讲解有关vue中如何实现手机号和邮箱正则验证以及60s发送验证码功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。写一个简单的验证,本来前面用的组件,...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作