(短信服务)java SpringBoot 阿里云短信功能实现发送手机验证码
一.阿里云准备工作
1.阿里云短信服务-注册账号
阿里云官网: https://www.aliyun.com/
点击官网首页注册按钮。
2.阿里云短信服务-设置短信签名(阿里云提供测试的签名,暂时可以跳过)
注册成功后,点击登录按钮进行登录。登录后进入短信服务管理页面,选择国内消息菜单:
短信签名是短信发送者的署名,表示发送方的身份。
3.阿里云短信服务-设置短信模板(阿里云提供测试的模板,暂时可以跳过)
切换到【模板管理】标签页:
短信模板包含短信发送内容、场景、变量信息。
4.阿里云短信服务-设置AccessKey
光标移动到用户头像上,在弹出的窗口中点击【AccessKey管理】∶
二、 代码开发
1.导入maven坐标
<dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-core</artifactId><version>4.5.16</version>
</dependency>
<dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-dysmsapi</artifactId><version>1.1.0</version>
</dependency>
2.封装发送短信工具类
public class SMSUtils {/*** 发送短信* @param signName 签名* @param templateCode 模板* @param phoneNumbers 手机号* @param param 参数*/public static void sendMessage(String signName, String templateCode,String phoneNumbers,String param){DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "你的accessKeyId", "你的secret");IAcsClient client = new DefaultAcsClient(profile);SendSmsRequest request = new SendSmsRequest();request.setSysRegionId("cn-hangzhou");request.setPhoneNumbers(phoneNumbers);request.setSignName(signName);request.setTemplateCode(templateCode);request.setTemplateParam("{\"code\":\""+param+"\"}");try {SendSmsResponse response = client.getAcsResponse(request);System.out.println("短信发送成功");}catch (ClientException e) {e.printStackTrace();}}
}
3.调用发送验证码
/*** 发送短信* @param signName 签名* @param templateCode 模板* @param phoneNumbers 手机号* @param param 参数*/
SMSUtils.sendMessage("阿里云短信测试", "SMS_154950909", "17303320963", "1234");
注意:
因为如果自定义签名或者模板的话,需要申请,所以阿里云提供了可以测试的签名和模板
4.到这里验证码已经可以发送了
三、扩展(生成验证码与上面的调用方法配合使用)
1.封装随机生成验证码的工具类
public class ValidateCodeUtils {/*** 随机生成验证码* @param length 长度为4位或者6位* @return*/public static Integer generateValidateCode(int length){Integer code =null;if(length == 4){code = new Random().nextInt(9999);//生成随机数,最大为9999if(code < 1000){code = code + 1000;//保证随机数为4位数字}}else if(length == 6){code = new Random().nextInt(999999);//生成随机数,最大为999999if(code < 100000){code = code + 100000;//保证随机数为6位数字}}else{throw new RuntimeException("只能生成4位或6位数字验证码");}return code;}/*** 随机生成指定长度字符串验证码* @param length 长度* @return*/public static String generateValidateCode4String(int length){Random rdm = new Random();String hash1 = Integer.toHexString(rdm.nextInt());String capstr = hash1.substring(0, length);return capstr;}
}
(短信服务)java SpringBoot 阿里云短信功能实现发送手机验证码相关推荐
- SpringBoot+阿里云短信服务实现发送短信验证码功能
目录 一.登陆阿里云,开通短信服务(收费的,需要充值,1元能发20条左右),并获取AccessKeyId和AccessKeySecret 二.创建短信模板与签名 三.引入依赖 四.准备工作已完成,编码 ...
- java对接阿里云短信服务详解(验证码,推广短信,通知短信)
前言 小前提: - java:springboot框架,maven版本管理. - 阿里云:有账号,已经进行实名认证. java对接阿里云短信服务详解(验证码,推广短信,通知短信) 前言 1. 登录阿里 ...
- Java 集成阿里云短信服务实现通过手机号码找回密码功能
A. 概述 首先明确一下目标:做一个通过手机验证找回(修改)账户密码的功能,例如: 流程大致如下: 1)用户输入手机号码 2)点击获取验证码(这时候前端有一些任务,如验证手机号格式,时间倒计时,按钮状 ...
- SpringBoot 阿里云短信功能使用
SpringBoot 阿里云短信功能使用 Jar包引用 上工具类 Jar包引用 <!-- 阿里云核心包 --><dependency><groupId>com.al ...
- Java调用阿里云短信接口,发送短信
Java调用阿里云短信接口,发送短信 1.短信服务这个很简单,只需要知道accessKeyId(AK).accessKeySecret(SK).短信签名.短信模板即可. 2.域名和产品名称是固定的,使 ...
- java实现阿里云短信验证注册--详细教程
java实现阿里云短信验证注册–详细教程 .项目中先引入依赖 <!--阿里云短信包--><dependency><groupId>com.aliyun</gr ...
- vue+springboot+阿里云短信服务(集成redis实现验证码登录业务)
阿里云短信服务-介绍 阿里云短信服务(Short Message Service)是广大企业客户快速触达手机用户所优选使用的通信能力.调用API或用群发助手,即可发送验证码.通知类和营销类短信:国内验 ...
- Java实现阿里云短信云服务
1.前提 此文章主要介绍 短信服务 的入门,可根据实际业务需求自行编写代码,写的简陋之处请见谅 想实现 阿里云短信服务,必须的有 阿里云的账号,此处文章前的你们是不是 有备而来?点击下方注册 OR ...
- java实现阿里云短信服务发送验证码
在写注册接口时,需引入短信第三方接口,故使用了阿里云短信服务,在这里简单描述一下 1.引入依赖 <!--手机发送短信验证码--><dependency><groupId& ...
最新文章
- 查看CentOS的网络带宽出口
- 【团队】 冲刺一(10/10)
- Python 之 matplotlib (十一) 3D
- PHP6 Web 开发读书笔记
- 艾伟_转载:C# Design Patterns (3) - Decorator
- python2 urllib2,Python urllib2保持活着
- case study
- NGINX前端代理TOMCAT取真实客户端IP
- php16进制密钥签名对接支付,简单理解rsa的加密和签名-PHP实现
- ASP.NET 2.0 数据绑定高级技巧
- 解三对角线性方程组的追赶法
- 全面学习 Python 包,你 Get 了吗?
- Bootstrap 警告
- Head First 设计模式目录
- CPU、GPU、TPU、NPU等到底是什么?
- MPI中的Bcast, Reduce和Gather使用举例
- 精选——Hive十道面试题(上)
- 朋也社区 v5.2.0 更新,新增手机号,微信登录外加主题一套
- CAS单点登录(http方式)
- Percona Xtrabackup安装
热门文章
- 浙江移动物联网应用开放平台(免费使用)
- Python的pyecharts做旭日图,太6了
- 【数据结构与算法 - 数据结构基础】什么是数据结构?
- 华为云计算IE面试笔记-华为云迁移工具Rainbow功能简介。支持哪些虚拟化平台和操作系统的迁移?支持哪些业务迁移方式?Windows在线迁移和Linux在线迁移前针对OS需要做哪些检查?
- switch语句 while循环 do-while循环
- java 骰子游戏_java 骰子游戏
- 最大类间方差法(大津法OTSU)原理
- 基于php二手书交易系统,二手书交易系统论文.doc
- 三国志X威力加强版 解决新武将姓名和列传乱码问题——大五码(BIG5)
- IT公司年会:程序员专属小品《疯狂营救》,改编自沈腾《人生自古谁无死》