我们在一些网站注册页面,经常会见到手机验证码的存在,这些验证码一般的小公司都是去买一些大的厂家的短信服务,自己开发对小公司的成本花费太大了!今天小编就带着大家来学习一下腾讯云的短信接口,体验一下,自己实现!!!
二、准备
小编这里把网站地址给大家 --->腾讯云短信控制台
快速入门 ---> 开始创建
签名管理 --->完善信息(要有备案的域名或者APP)
正文模板管理 --->创建正文模板
快速入门 --->查看成功
应用列表 --->SDK AppID和App Key(重要,后面要用)
正文模板管理 ---> 模板ID(重要,后面要用)
签名管理 ---> 内容(重要,后面要用)
三、导入依赖
<dependency>
<groupId>com.github.qcloudsms</groupId>
<artifactId>qcloudsms</artifactId>
<version>1.0.5</version>
</dependency>
四、运行代码
import cn.hutool.json.JSONException;
import com.github.qcloudsms.SmsSingleSender;
import com.github.qcloudsms.SmsSingleSenderResult;
import com.github.qcloudsms.httpclient.HTTPException;
import java.io.IOException;
public class Message {
public static void main(String[] args) {
Message message = new Message();
//输入要发送的手机号
message.sendMessage("手机号码");
}
// 短信应用SDK AppID --- 对应二、准备的5
int appid = 1400009099; // 1400开头
// 短信应用SDK AppKey --- 对应二、准备的5
String appkey = "9ff91d87c2cd7cd0ea762f141975d1df37481d48700d70ac37470aefc60f9bad";
// 短信模板 ID,需要在短信应用中申请 --- 对应二、准备的6
int templateId = 7839; // NOTE: 这里的模板ID`7839`只是一个示例,真实的模板ID需要在短信控制台中申请
// 签名 --- 对应二、准备的7
String smsSign = "腾讯云"; // NOTE: 这里的签名"腾讯云"只是一个示例,真实的签名需要在短信控制台中申请,另外签名参数使用的是`签名内容`,而不是`签名ID`
/**
* 腾讯云发送短信验证码
* @param phoneNumber 需要发送给哪个手机号码
*
*/
public void sendMessage(String phoneNumber) {
try{
// 我们随机生成四位随机数
String verificationCode = (int) ((Math.random() * 9 + 1) * 1000) + "";
// 数组具体的元素个数和模板中变量个数必须一致 我的模板中需要填写验证码和有效时间,{1},{2}
String[] params = {verificationCode , "5"};
SmsSingleSender singleSender = new SmsSingleSender(appid, appkey);
SmsSingleSenderResult result = singleSender.sendWithParam("86", phoneNumber, templateId, params, smsSign, "", "");
System.out.println("result --->" + result);
} catch (HTTPException e) {
// HTTP 响应码错误
e.printStackTrace();
} catch (JSONException e) {
// JSON 解析错误
e.printStackTrace();
} catch (IOException e) {
// 网络 IO 错误
e.printStackTrace();
}
}
}
五、运行结果