本文章使用的是SpringBoot结合云之讯短信平台,其实什么平台不重要,基本上思路都是差不多的
(发送短信是要实名制认证的,是要钱的,我们新注册的云之讯平台是免费送十元短信的,只需要实名制就可以发送短信了)

我使用的是刚刚创建SpringBoot项目,什么都没有的项目:

发送短信验证码java 发送短信验证码软件_后端

(1)下载云之讯SDK。

1.百度搜索云之讯,进入

发送短信验证码java 发送短信验证码软件_java_02

2.点击注册(注意,要实名制认证才可发送)

发送短信验证码java 发送短信验证码软件_java_03

3.输入信息,注册即可

发送短信验证码java 发送短信验证码软件_发送短信验证码java_04

4.注册成功,在进入开发者控制台

发送短信验证码java 发送短信验证码软件_java_05

5.点击SDK下载

发送短信验证码java 发送短信验证码软件_后端_06

6.进入SDK下载,下载Java版本zip

发送短信验证码java 发送短信验证码软件_发送短信验证码java_07

7.下载完解压即可:

发送短信验证码java 发送短信验证码软件_后端_08

(2)结合SpringBoot项目

1.先在项目中导入云之讯需要的jar包

发送短信验证码java 发送短信验证码软件_发送短信验证码java_09

<!-- 云之讯 -->
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.4.1</version>
        </dependency>
        <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>2.6</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.14</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.5</version>
        </dependency>
2.打开解压后的云之讯SDK

发送短信验证码java 发送短信验证码软件_java_10

3.将下载的云之讯SDK中的src里的文件拷贝至SpringBoot启动类同级目录。

发送短信验证码java 发送短信验证码软件_发送短信验证码java_11

4.导入相应的包,不报错即可

发送短信验证码java 发送短信验证码软件_服务器_12

5.将下载的云之讯SDK中的src里的config.properties剪切至SpringBoot的application.properties同级位置。

发送短信验证码java 发送短信验证码软件_java_13

6.在将config.properties中的is_test改为true。

发送短信验证码java 发送短信验证码软件_物联网_14

(3)发送手机短信

1.打开拷贝过来的RestTest.java,里面说明怎样去发送验证码了。我们先不管他

发送短信验证码java 发送短信验证码软件_服务器_15

2.创建Test测试,下面这段代码便是模板单发方法,需要其他类型的短信可以参照文档截取所需代码。

发送短信验证码java 发送短信验证码软件_java_16

package com.message.test;

import com.message.com.ucpaas.restDemo.client.JsonReqClient;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class Test {


    public static void main(String[] args) {
        String sid = "";//用户的账号唯一标识“Account Sid”
        String token = "";//用户密钥“Auth Token”
        String appid = "";//创建应用时系统分配的唯一标示
        String templateid = "";//可在后台短信产品→选择接入的应用→短信模板-模板ID,查看该模板ID
        String param = generateWord();//模板中的替换参数(验证码)
        String mobile = "";//接收的单个手机号,暂仅支持国内号码
        String uid = "";//用户透传ID,随状态报告返回

        try {
            String result=new JsonReqClient().sendSms(sid, token, appid, templateid, param, mobile, uid);
            System.out.println("Response content is: " + result);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }


    /**
     * 产生随机的6位数字字符串
     */
    private static String generateWord() {
        int length = 6;
        String[] beforeShuffle = new String[]{"1", "2", "3", "4", "5", "6", "7", "8", "9"};
        List list = Arrays.asList(beforeShuffle);
        Collections.shuffle(list);
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < list.size(); i++) {
            sb.append(list.get(i));
        }
        String afterShuffle = sb.toString();
        return afterShuffle.substring(2, 2 + length);
    }
}
3.绑定云之讯短信发送接口实现短信发送(重点)

进入云之讯开发者控制平台,进入短信应用

发送短信验证码java 发送短信验证码软件_物联网_17


右下角有api对接信息

发送短信验证码java 发送短信验证码软件_物联网_18

重点:

(1)把api接口对接我的Test测试类,前6个参数必须要,最后一个uid可为空,
(2)这一步需要填写sid、token、appid、param、mobile、templateid
参数介绍:
1.前三个参数对应好云之讯平台上的参数
2.param不用管,是已近绑定了我自己定义的随机码生成方法
3.mobile是接受短信的手机号
4.templateid,是发短信的模板,下一步操作教会怎么填(重点,下一步看详细)
5.uid不用管,为空就好了

发送短信验证码java 发送短信验证码软件_发送短信验证码java_19


(3)templateid怎么填,跟着图片来

1.进入模板库

发送短信验证码java 发送短信验证码软件_服务器_20


2.找到模板id

发送短信验证码java 发送短信验证码软件_物联网_21


3.对应好就ok啦

发送短信验证码java 发送短信验证码软件_后端_22


4.然后启动main方法,出现就ok啦

发送短信验证码java 发送短信验证码软件_物联网_23

重点:短信没接到就是因为账号为认证,去认证一下就ok啦

发送短信验证码java 发送短信验证码软件_发送短信验证码java_24