一、生成签名(提前注册号腾讯元的账号)

登录地址:总览 - 控制台 - 腾讯云 (tencent.com)

1、短信页面

 2、创建签名

根据自己的需求去创建,可以是小程序、网站、微信公众号,按要求填写下面的信息等申请通过即可 

 

二、领取短信次数

腾讯云是可以免费领取 100 次的发送次数的

 在官网找到这个页面申请既可以了,不用钱的哈,免费的,使用期限是3个月100次。

领取成功,我之前测试用了4条了 

三、查看

1、查看签名

        如果申请通过的话,会有显示已生效的这里的 ID 和 签名内容我们后面都要用到

2、查看模板

首先申请一个短信模板,我这里已验证码的格式为主。剩下的内容就按照要求去填写,同样也是需要通过审批才可以使用。

 查看模板

 审批通过会显示已通过,模板中的 ID 和 内容是我们需要操作的

3、查看应用信息

SDK App ID 和 App Key 也是需要使用到的

4、查看密钥 

在访问管理中,有密钥管理,后面也要用到

四、代码实现

1、pom.xml 导入依赖

 <!-- 发送短信的依赖 === 腾讯云 -->
        <!-- https://mvnrepository.com/artifact/com.tencentcloudapi/tencentcloud-sdk-java -->
        <dependency>
            <groupId>com.tencentcloudapi</groupId>
            <artifactId>tencentcloud-sdk-java</artifactId>
            <version>4.0.11</version>
        </dependency>

2、代码

1、生成四位随机数的工具类 --- 随机生成四位验证码

public static String keyUtils() {
        // 定义一个包含数字 0 到 9 的字符串
        String str = "0123456789";

        // 创建一个空的 StringBuilder 对象,用于存储生成的随机数 -- 4位
        StringBuilder st = new StringBuilder(4);

        // 使用 for 循环4次
        for (int i = 0; i < 4; i++) {

            // 在 str 字符串中随机选择一个字符,并添加到 stringBuilder 对象中
            char ch = str.charAt(new Random().nextInt(str.length()));
            st.append(ch);

        }

        // 将 stringBuilder 对象转化为字符串,并转化为小写字母
        String findkey = st.toString().toLowerCase();

        // 返回生成的随机数
        return findkey;
    }

2、发送短信的代码

代码中空的设置值,已经在上标题中带大家找过了,复制进去就可以使用了

    try {
            // 创建 COSCredentials 对象,传入 SecretId 和 SecretKey --- 密钥
            Credential cred = new Credential("SecretId ", "SecretKey ");
            HttpProfile httpProfile = new HttpProfile();
            // 设置腾讯云服务 API 的访问域名
            httpProfile.setEndpoint("sms.tencentcloudapi.com");
            ClientProfile clientProfile = new ClientProfile();
            // 设置 HTTP 的请求配置信息
            clientProfile.setHttpProfile(httpProfile);
            // 指定 SMS 所在的区域
            SmsClient client = new SmsClient(cred, "ap-guangzhou", clientProfile);

            SendSmsRequest req = new SendSmsRequest();
            // 接收短信的手机号码,可以设置多个
            String[] phoneNumberSet1 = {"+8615300001866"};
            req.setPhoneNumberSet(phoneNumberSet1);

            // 设置正文模板 ID
            req.setTemplateID("");
            // 设置短信应用 ID
            req.setSmsSdkAppid("");
            // 设置签名内容
            req.setSign("");

            // 调用生成验证码的工具类
            FourKeyUtil fourKeyUtil = new FourKeyUtil();
            String s = fourKeyUtil.keyUtils();

            // 短信模板中的参数,需与短信模板中的参数个数一致
            String[] templateParams = {s};
            req.setTemplateParamSet(templateParams);

            // 发送短信
            SendSmsResponse resp = client.SendSms(req);
            System.out.println(SendSmsResponse.toJsonString(resp));

        } catch (TencentCloudSDKException e) {
            System.out.println(e.toString());
        }

3、运行

运行只要看到 ok 和 success 就表示成功了

效果图

到这里Java + 腾讯云发送短信就已经完成了,后期会结合web项目一起使用,实现注册手机短信验证注册功能。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐