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生成&容联云短信验证&用户认证和网关整合(网关做统一权限认证)

SpringBoot整合腾讯短信服务发送验证码

容联七陌短信/验证码

Java实现短信验证码功能(利用容联云,个人测试,不需要项目上线)

Java实现短信验证码功能(利用容联云,个人测试,不需要项目上线)

美多商城项目之短信验证码