一.阿里云准备工作

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 阿里云短信功能实现发送手机验证码相关推荐

  1. SpringBoot+阿里云短信服务实现发送短信验证码功能

    目录 一.登陆阿里云,开通短信服务(收费的,需要充值,1元能发20条左右),并获取AccessKeyId和AccessKeySecret 二.创建短信模板与签名 三.引入依赖 四.准备工作已完成,编码 ...

  2. java对接阿里云短信服务详解(验证码,推广短信,通知短信)

    前言 小前提: - java:springboot框架,maven版本管理. - 阿里云:有账号,已经进行实名认证. java对接阿里云短信服务详解(验证码,推广短信,通知短信) 前言 1. 登录阿里 ...

  3. Java 集成阿里云短信服务实现通过手机号码找回密码功能

    A. 概述 首先明确一下目标:做一个通过手机验证找回(修改)账户密码的功能,例如: 流程大致如下: 1)用户输入手机号码 2)点击获取验证码(这时候前端有一些任务,如验证手机号格式,时间倒计时,按钮状 ...

  4. SpringBoot 阿里云短信功能使用

    SpringBoot 阿里云短信功能使用 Jar包引用 上工具类 Jar包引用 <!-- 阿里云核心包 --><dependency><groupId>com.al ...

  5. Java调用阿里云短信接口,发送短信

    Java调用阿里云短信接口,发送短信 1.短信服务这个很简单,只需要知道accessKeyId(AK).accessKeySecret(SK).短信签名.短信模板即可. 2.域名和产品名称是固定的,使 ...

  6. java实现阿里云短信验证注册--详细教程

    java实现阿里云短信验证注册–详细教程 .项目中先引入依赖 <!--阿里云短信包--><dependency><groupId>com.aliyun</gr ...

  7. vue+springboot+阿里云短信服务(集成redis实现验证码登录业务)

    阿里云短信服务-介绍 阿里云短信服务(Short Message Service)是广大企业客户快速触达手机用户所优选使用的通信能力.调用API或用群发助手,即可发送验证码.通知类和营销类短信:国内验 ...

  8. Java实现阿里云短信云服务

    1.前提 此文章主要介绍 短信服务 的入门,可根据实际业务需求自行编写代码,写的简陋之处请见谅  想实现 阿里云短信服务,必须的有 阿里云的账号,此处文章前的你们是不是 有备而来?点击下方注册 OR ...

  9. java实现阿里云短信服务发送验证码

    在写注册接口时,需引入短信第三方接口,故使用了阿里云短信服务,在这里简单描述一下 1.引入依赖 <!--手机发送短信验证码--><dependency><groupId& ...

最新文章

  1. 查看CentOS的网络带宽出口
  2. 【团队】 冲刺一(10/10)
  3. Python 之 matplotlib (十一) 3D
  4. PHP6 Web 开发读书笔记
  5. 艾伟_转载:C# Design Patterns (3) - Decorator
  6. python2 urllib2,Python urllib2保持活着
  7. case study
  8. NGINX前端代理TOMCAT取真实客户端IP
  9. php16进制密钥签名对接支付,简单理解rsa的加密和签名-PHP实现
  10. ASP.NET 2.0 数据绑定高级技巧
  11. 解三对角线性方程组的追赶法
  12. 全面学习 Python 包,你 Get 了吗?
  13. Bootstrap 警告
  14. Head First 设计模式目录
  15. CPU、GPU、TPU、NPU等到底是什么?
  16. MPI中的Bcast, Reduce和Gather使用举例
  17. 精选——Hive十道面试题(上)
  18. 朋也社区 v5.2.0 更新,新增手机号,微信登录外加主题一套
  19. CAS单点登录(http方式)
  20. Percona Xtrabackup安装

热门文章

  1. 浙江移动物联网应用开放平台(免费使用)
  2. Python的pyecharts做旭日图,太6了
  3. 【数据结构与算法 - 数据结构基础】什么是数据结构?
  4. 华为云计算IE面试笔记-华为云迁移工具Rainbow功能简介。支持哪些虚拟化平台和操作系统的迁移?支持哪些业务迁移方式?Windows在线迁移和Linux在线迁移前针对OS需要做哪些检查?
  5. switch语句 while循环 do-while循环
  6. java 骰子游戏_java 骰子游戏
  7. 最大类间方差法(大津法OTSU)原理
  8. 基于php二手书交易系统,二手书交易系统论文.doc
  9. 三国志X威力加强版 解决新武将姓名和列传乱码问题——大五码(BIG5)
  10. IT公司年会:程序员专属小品《疯狂营救》,改编自沈腾《人生自古谁无死》