Java通过邮件发送验证码和通过手机号发送验证码

ops/2024/10/20 20:51:47/
前提:我将验证码存入了map集合,进行验证。
java">private static HashMap<String, Integer> emailMap = new HashMap<>();

一、通过邮箱发送验证码:

1、准备条件:引入hutool依赖,

java"> <!--hutool--><dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.16</version></dependency><!--发送邮件--><dependency><groupId>com.sun.mail</groupId><artifactId>javax.mail</artifactId><version>1.6.2</version></dependency>

2、准备一个阿里云邮箱。
注册链接
3、手写代码。

java"> public Integer sendCode(String email) { //参数为你接受邮件的邮箱地址//发送email验证码MailAccount account = new MailAccount();account.setHost("smtp.aliyun.com"); //阿里云的邮箱服务器地址account.setPort(465); //端口号account.setAuth(true);account.setSslEnable(true);account.setUser("你自己的阿里云邮箱");account.setPass("密码");account.setFrom("你自己的阿里云邮箱");int code = RandomUtil.randomInt(1000, 10000);emailMap.put("email", code);MailUtil.send(account, email, "测试", "邮件来自scl测试:" + code, false);return 0;}

二、手机号发送验证码

1、开通阿里云的短信功能。

链接: 【短信验证码-快速自定义签名】三网短信接口-短信-数字藏品短信-三网短信接口验证码-短信验证码-短信【最新版】_商业智能_电商_金融-云市场-阿里云

在这里插入图片描述
2、查找你自己的AppCode
在这里插入图片描述
3、编写代码(这里也用到了hutool工具,你需要引入其架包,上边邮件里边有架包)

java"> /*** 手机验证码** @param tel* @return*/public Integer sendTelCode(String tel) {String url = "https://dfsns.market.alicloudapi.com/data/send_sms";String appcode = "你自己的appcode";int code = RandomUtil.randomInt(1000, 10000); //验证码emailMap.put("tel", code);String result = HttpRequest.post(url).header("Authorization", "APPCODE " + appcode)//头信息,多个头信息多次调用此方法即可.body("content=code:" + code + "&template_id=TPL_0000&phone_number=" + tel).execute().body();JSONObject object = JSONUtil.parseObj(result);if (!object.get("status").equals("OK")) {log.error("发送验证码错误:{}", object.get("reason"));throw new BizException(404, "发送验证码错误");}return 0;}

http://www.ppmy.cn/ops/15543.html

相关文章

centos7.9下安装SVN服务

一、安装subversion yum install -y subversion #安装svn mkdir -p /data/svnrepos/java #自定义svn仓库位置/data/svnrepos&#xff0c;自定义一个项目叫svn&#xff08;这里新建目录&#xff09; svnadmin create /data/svnrepos/java #创建一…

俄罗斯地理干货整理,柯桥俄语培训

山脉 高加索山脉(Кавказ)位于黑海、亚速海和里海之间&#xff0c;最高峰厄尔布鲁士峰(гора Эльбрус)海拔5642米。 乌拉尔山脉(Урал)位于东欧平原和西西伯利亚平原之间&#xff0c;是欧亚两大洲的自然分界线。 河流 俄罗斯联邦的河流多达10万多条。北徳维…

【Java框架】SpringMVC(二)——SpringMVC数据交互

目录 前后端数据交互RequestMapping注解基于RequestMapping注解设置接口的请求方式RequestMapping注解的常用属性一个方法配置多个接口method属性params属性headers属性consumes属性produces属性 SpringMVC中的参数传递默认单个简单参数默认多个简单参数默认参数中有基本数据类…

修改npm全局安装模式的路径

修改npm全局安装模式的路径 由于之前安装过nodejs&#xff0c;并且配置环境变量以及cache 、prefix 的信息&#xff1b; 由于项目需求安装最新版本的Nodejs&#xff0c;把环境变量的path相关目录进行调整&#xff0c;然后使用一下命令进行安装cnpm命令&#xff1b; npm insta…

租用新加坡服务器部署wordpress如何加速?

要加速在新加坡服务器上部署WordPress&#xff0c;可以采取以下一些措施&#xff1a; 1. 选择性能优越的主机提供商&#xff1a;选择具有优质硬件、高性能网络和优化服务器配置的主机提供商。确保服务器的硬件资源充足&#xff0c;网络连接稳定&#xff0c;以提高WordPress网站…

Python自动化实战 —— 使用Selenium进行Web自动化!

为了完成一项重复的任务&#xff0c;你需要在网站上进行大量的点击和操作&#xff0c;每次都要浪费大量的时间和精力。Python的Selenium库就可以自动化完成这些任务。 在本篇文章中&#xff0c;我们将会介绍如何使用Python的Selenium库进行Web自动化&#xff0c;以及如何将它应…

Mac读写U盘软件哪个好用 Mac读写U盘很慢怎么解决 macbookpro读取u盘

在使用Mac电脑时&#xff0c;读写U盘是一个常见的需求&#xff0c;特别是当U盘格式为NTFS时。选择适合的软件来实现这一操作至关重要。下面我们来看Mac读写U盘软件哪个好用&#xff0c;Mac读写U盘很慢怎么解决的相关内容。 一、Mac读写U盘软件哪个好用 在Mac上选择一款适合的…

【ruoyi-vue】axios的封装理解和基本使用

axios的配置 ruoyi的前端对axios进行了封装&#xff0c;让我们发get请求或者是post请求更加方便了。 ruoyi对axios的封装在下面文件中&#xff1a;打开文件&#xff0c;可以看到它有三个显眼的方法&#xff0c;分别是request拦截器、response拦截器和通用下载方法。ruoYi接口地…