本文章使用的是SpringBoot结合云之讯短信平台,其实什么平台不重要,基本上思路都是差不多的
(发送短信是要实名制认证的,是要钱的,我们新注册的云之讯平台是免费送十元短信的,只需要实名制就可以发送短信了)
我使用的是刚刚创建SpringBoot项目,什么都没有的项目:
(1)下载云之讯SDK。
1.百度搜索云之讯,进入
2.点击注册(注意,要实名制认证才可发送)
3.输入信息,注册即可
4.注册成功,在进入开发者控制台
5.点击SDK下载
6.进入SDK下载,下载Java版本zip
7.下载完解压即可:
(2)结合SpringBoot项目
1.先在项目中导入云之讯需要的jar包
<!-- 云之讯 -->
<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
3.将下载的云之讯SDK中的src里的文件拷贝至SpringBoot启动类同级目录。
4.导入相应的包,不报错即可
5.将下载的云之讯SDK中的src里的config.properties剪切至SpringBoot的application.properties同级位置。
6.在将config.properties中的is_test改为true。
(3)发送手机短信
1.打开拷贝过来的RestTest.java,里面说明怎样去发送验证码了。我们先不管他
2.创建Test测试,下面这段代码便是模板单发方法,需要其他类型的短信可以参照文档截取所需代码。
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.绑定云之讯短信发送接口实现短信发送(重点)
进入云之讯开发者控制平台,进入短信应用
右下角有api对接信息
重点:
(1)把api接口对接我的Test测试类,前6个参数必须要,最后一个uid可为空,
(2)这一步需要填写sid、token、appid、param、mobile、templateid
参数介绍:
1.前三个参数对应好云之讯平台上的参数
2.param不用管,是已近绑定了我自己定义的随机码生成方法
3.mobile是接受短信的手机号
4.templateid,是发短信的模板,下一步操作教会怎么填(重点,下一步看详细)
5.uid不用管,为空就好了
(3)templateid怎么填,跟着图片来
1.进入模板库
2.找到模板id
3.对应好就ok啦
4.然后启动main方法,出现就ok啦
重点:短信没接到就是因为账号为认证,去认证一下就ok啦