SpringBoot整合容联云发短信验证码
Posted 最小的帆也能远航
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot整合容联云发短信验证码相关的知识,希望对你有一定的参考价值。
1.首先,在自己的项目的pom文件中导入所需要的maven 依赖
<dependencies>
<!--容联云通讯短信-->
<dependency>
<groupId>com.cloopen</groupId>
<artifactId>java-sms-sdk</artifactId>
<version>1.0.1</version>
</dependency>
<!-- 翻看了容联云的源码发现需要依赖谷歌的gson,如果不添加这个会报错 -->
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.6</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.7</version>
</dependency>
</dependencies>
2. 在容联云首页寻找开发文档
3.然后创建一个发送短信的工具类,将自己提前注册申请好的ACCOUNT SID 和主账号令牌AUTH TOKEN及APPID 替换到xxx 的位置。
import java.util.HashMap;
import java.util.Random;
import com.cloopen.rest.sdk.CCPRestSmsSDK;
import org.apache.commons.lang3.RandomStringUtils;
/**
* 发送短信工具类
*
*/
public class SDKTestSendTemplateSMS {
/**
* 发送验证码工具类
*
* @param phone 电话号码
* @return 验证码
*/
public static String sms(String phone) {
HashMap<String, Object> result = null;
CCPRestSmsSDK restAPI = new CCPRestSmsSDK();
// 初始化服务器地址和端口,生产环境配置成app.cloopen.com,端口是8883.
restAPI.init("app.cloopen.com", "8883");
// 初始化主账号名称和主账号令牌,登陆云通讯网站后,可在控制首页中看到开发者主账号ACCOUNT SID和主账号令牌AUTH TOKEN。
restAPI.setAccount("xxx", "xxx");
// 请使用管理控制台中已创建应用的APPID。
restAPI.setAppId("xxx");
String code = RandomStringUtils.randomNumeric(6);
//设置需要发送的手机号和发送的验证码及过期时间
result = restAPI.sendTemplateSMS(phone, "1", new String[]{code, "10"});
if ("000000".equals(result.get("statusCode"))) {
return code;
} else {
//异常返回输出错误码和错误信息
String s = "错误码=" + result.get("statusCode") + " 错误信息= " + result.get("statusMsg");
return s;
}
}
}
4.测试的时候可以写一个main方法测试一下
public static void main(String[] args) {
String sms = sms("11111111111");
System.out.println(sms);
}
到此短信发送成功!!!
以上是关于SpringBoot整合容联云发短信验证码的主要内容,如果未能解决你的问题,请参考以下文章
06-手机登录&token生成&容联云短信验证&用户认证和网关整合(网关做统一权限认证)
Java实现短信验证码功能(利用容联云,个人测试,不需要项目上线)