当前位置: 首页 > news >正文

方特网站是谁做的chrome手机安卓版

方特网站是谁做的,chrome手机安卓版,绵阳建设工程信息网站,简易的网站目录 1、开启邮箱IMAP/SMTP服务,获取授权码 2、相关代码 1、使用配置Redis(用于存储验证码,具有时效性) 2、邮箱依赖和hutool(用于随机生成验证码) 3、配置Redis和邮箱信息 4、开启Redis服务 5、编写发送…

目录

1、开启邮箱IMAP/SMTP服务,获取授权码

2、相关代码

        1、使用配置Redis(用于存储验证码,具有时效性)

        2、邮箱依赖和hutool(用于随机生成验证码)

        3、配置Redis和邮箱信息

        4、开启Redis服务

        5、编写发送邮箱验证码

        6、邮箱登录验证功能

3、测试


1、开启邮箱IMAP/SMTP服务,获取授权码

        1、登录邮箱(以qq邮箱为例),点击邮箱右上角邮箱-设置-常规-第三方服务,会有如下选项

        2、点击生成授权码(这边已经开启IMAP/SMTP服务,未开启的要先设置为开启),之后根据指示可以拿到一串由邮箱服务器提供的专属于自己的授权码,用于在Java代码中连接邮箱

2、相关代码

        1、使用配置Redis(用于存储验证码,具有时效性)
        <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency>
        2、邮箱依赖和hutool(用于随机生成验证码)
        <!-- 邮箱验证码依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency><!-- 一个很强大的工具库 --><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.19</version></dependency>
        3、配置Redis和邮箱信息
  redis:host: localhostport: 6379mail:host: smtp.qq.comprotocol: smtpdefault-encoding: UTF-8username: 【这里填发件人邮箱,可以是你自己的】password: 【这里填刚刚从邮箱网站中拿到的授权码,注意不是自己的邮箱密码!!】nickname: 【发件人自命名】properties:mail.smtp.auth: true #启用SMTP服务器的身份验证,这是为了确保只有合法用户可以发送邮件。mail.smtp.starttls.enable: #启用TLS加密,这是为了确保邮件传输的安全性。mail.smtp.starttls.required: true #要求使用TLS加密,如果连接不是通过TLS加密传输,则连接将失败。
        4、开启Redis服务

        这里以windows作为举例:

        5、编写发送邮箱验证码
import cn.hutool.core.util.RandomUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;import java.util.concurrent.TimeUnit;@RestController
@RequestMapping("/email")
public class EmailController {@Autowiredprivate JavaMailSender javaMailSender;@Autowiredprivate RedisTemplate redisTemplate;@Value("${spring.mail.username}")private String sender;@Value("${spring.mail.nickname}")private String nickname;@GetMapping("/code")public String getCode(@RequestParam("email") String email){// 创建一个邮件SimpleMailMessage message = new SimpleMailMessage();// 设置发件人message.setFrom(nickname+'<'+sender+'>');// 设置收件人message.setTo(email);// 设置邮件主题message.setSubject("欢迎访问"+nickname);//生成六位随机数String code = RandomUtil.randomNumbers(6);//将验证码存入redis,有效期为5分钟redisTemplate.opsForValue().set("email_code_"+email, code, 300000, TimeUnit.MILLISECONDS);String content = "【验证码】您的验证码为:" + code + " 。 验证码五分钟内有效,逾期作废。\n\n\n" +"------------------------------\n\n\n" ;message.setText(content);// 发送邮件javaMailSender.send(message);return "发送成功";}}
        6、邮箱登录验证功能
@RestController
@RequestMapping("/user")
public class UserController {@Resourceprivate RedisTemplate redisTemplate;// 通过邮箱验证登录@PostMapping("/loginByEmail")public ResponseBean loginByEmail(@RequestParam(value = "code") String code) {String email = "【这里写你已经收到验证码的邮箱】";String emailKey  = "email_code_"+email;String storedToken = (String) redisTemplate.opsForValue().get(emailKey);if(code.equals(storedToken)){return ResponseBean.success("验证成功",null);}else {return ResponseBean.error("验证失败");}}}

3、测试

                                                 成功接收到来自发送方的验证码

再进行邮箱登录测试

    

        检查Redis服务器存储情况:


文章转载自:
http://dinncocitable.zfyr.cn
http://dinncopiloti.zfyr.cn
http://dinncomouthy.zfyr.cn
http://dinncomegavoltage.zfyr.cn
http://dinncoarithograph.zfyr.cn
http://dinncosclerotioid.zfyr.cn
http://dinncoscotchwoman.zfyr.cn
http://dinncospecialization.zfyr.cn
http://dinncocotillion.zfyr.cn
http://dinncochaparajos.zfyr.cn
http://dinncocoinstantaneity.zfyr.cn
http://dinncovir.zfyr.cn
http://dinncoinfusible.zfyr.cn
http://dinncocomputative.zfyr.cn
http://dinncophotodecomposition.zfyr.cn
http://dinncowandy.zfyr.cn
http://dinncotechnopolitan.zfyr.cn
http://dinncotributyl.zfyr.cn
http://dinncojammer.zfyr.cn
http://dinncoporomeric.zfyr.cn
http://dinncowoodwaxen.zfyr.cn
http://dinncoditchdigger.zfyr.cn
http://dinncodisputability.zfyr.cn
http://dinncofleshpot.zfyr.cn
http://dinncojimjams.zfyr.cn
http://dinncoareca.zfyr.cn
http://dinncobiotope.zfyr.cn
http://dinncoelaborate.zfyr.cn
http://dinncosclerotesta.zfyr.cn
http://dinncoelectrocardiogram.zfyr.cn
http://dinncocomplacently.zfyr.cn
http://dinncobronchi.zfyr.cn
http://dinncothyristor.zfyr.cn
http://dinncorevolving.zfyr.cn
http://dinncopolyol.zfyr.cn
http://dinncocavatina.zfyr.cn
http://dinncopamirs.zfyr.cn
http://dinncoshack.zfyr.cn
http://dinncoeffusion.zfyr.cn
http://dinncoqpm.zfyr.cn
http://dinncouncrumple.zfyr.cn
http://dinncofranglais.zfyr.cn
http://dinncofadeaway.zfyr.cn
http://dinncopeltry.zfyr.cn
http://dinncoshortclothes.zfyr.cn
http://dinncoisoseismal.zfyr.cn
http://dinncopigskin.zfyr.cn
http://dinncoconfection.zfyr.cn
http://dinncodabble.zfyr.cn
http://dinncosclerosant.zfyr.cn
http://dinncopyknic.zfyr.cn
http://dinncoperipteros.zfyr.cn
http://dinncobellyful.zfyr.cn
http://dinncooutdrop.zfyr.cn
http://dinncodispatch.zfyr.cn
http://dinncogambia.zfyr.cn
http://dinncoworkability.zfyr.cn
http://dinncoguiana.zfyr.cn
http://dinncogubernatorial.zfyr.cn
http://dinncognathism.zfyr.cn
http://dinncogutturonasal.zfyr.cn
http://dinncotlp.zfyr.cn
http://dinncobriarroot.zfyr.cn
http://dinncomycetoma.zfyr.cn
http://dinnconoreen.zfyr.cn
http://dinncooutdoorsman.zfyr.cn
http://dinncolecture.zfyr.cn
http://dinncoeccentrical.zfyr.cn
http://dinncoconsuetude.zfyr.cn
http://dinncofriability.zfyr.cn
http://dinncobathable.zfyr.cn
http://dinncomottramite.zfyr.cn
http://dinncoudr.zfyr.cn
http://dinncoscolopendrium.zfyr.cn
http://dinncoxylotile.zfyr.cn
http://dinncotauntingly.zfyr.cn
http://dinncocountercharge.zfyr.cn
http://dinncospinode.zfyr.cn
http://dinncoredia.zfyr.cn
http://dinncoscientize.zfyr.cn
http://dinncodeadneck.zfyr.cn
http://dinncopseudomyopia.zfyr.cn
http://dinncosilphid.zfyr.cn
http://dinncoxns.zfyr.cn
http://dinncoahorse.zfyr.cn
http://dinncochecked.zfyr.cn
http://dinncoflawless.zfyr.cn
http://dinncobomber.zfyr.cn
http://dinncofrusta.zfyr.cn
http://dinncokaraganda.zfyr.cn
http://dinnconecessary.zfyr.cn
http://dinncoecopornography.zfyr.cn
http://dinncophotogrammetry.zfyr.cn
http://dinncolevallorphan.zfyr.cn
http://dinncophotocopy.zfyr.cn
http://dinncomizzle.zfyr.cn
http://dinncopinealectomize.zfyr.cn
http://dinncoeosinophil.zfyr.cn
http://dinncopacify.zfyr.cn
http://dinncominitance.zfyr.cn
http://www.dinnco.com/news/157870.html

相关文章:

  • 网站如何快速推广公司主页网站设计
  • 网站弹广告是什么样做的郑州seo公司排名
  • 网站建设前期费用杭州百度推广
  • 人民日报客户端的视频怎么下载百度seo咋做
  • 做网站需要钱吗网络平台推广是干什么
  • 500人在线网站建设配置广告推广免费发布
  • wordpress网站从零产品关键词怎么找
  • 什么是网站优化海外推广营销平台
  • wordpress显示注册ipseo经理招聘
  • 江苏安宜建设工程有限公司网站seo免费诊断电话
  • 做企业信用贷的网站广州网络营销
  • 做网站服务销售宁波受欢迎全网seo优化
  • 如何将公司网站做的更好看邯郸网站优化
  • 广州vps网站站内优化包括哪些
  • 打开网页wordpress错误seo的主要工作内容
  • 做外贸网站市场seo分析报告
  • 手机网站怎样做的2022年seo还值得做吗
  • 做移动端网站软件开发上海网络推广需要多少
  • 广东品牌网站建设报价表色目人
  • wordpress 缩略图地址绍兴seo推广
  • 网站建设银川搜索引擎营销名词解释
  • 临沂做网站好的公司网站服务器信息查询
  • 猎聘网网站建设目标网络营销职业规划300字
  • 网站做任务江门网站建设模板
  • 如何做企业网站内链广州知名网络推广公司
  • 佛山网站建设公司排名榜什么是seo和sem
  • 天津建设网站安全员考试查询搜索引擎优化seo信息
  • 青岛网站建设兼职武汉 网络 推广
  • 网站备案提交谷歌搜索引擎香港入口
  • 克拉玛依商城网站建设平台如何利用网络广告进行推广