使用腾讯云sms短信服务
因为使用gradle管理springboot,本文需用到旧版腾讯云SDK资源:传送门
如果使用maven,新版的腾讯云SDK可以很方便引用,后面会提到SDK。
1、注册微信公众号
百度搜索微信公众号,进入网站后,点注册,注册类型选订阅号(个人)。注册成功后保存后台“账号详情”的截图,用于后面申请腾讯云短信签名。
2、注册腾讯云账号
使用qq号登录注册腾讯云,完成个人实名认证流程。
3、设置短信签名和短信正文
进入腾讯云后台,搜索框内搜“短信”,确认开通。
在短信管理后台里,找到SDK,下载Java SDK。用于后期开发。(新版SDK对gradle不友好,建议使用上面旧版下载)
先申请签名,等待审核通过后再申请短信正文。
申请短信正文模板:
4、在gradle demo项目中测试
先把旧版核心包qcloudsms-1.0.5.jar导入到bin文件夹下,然后build path构建一下:
创建对应包下的测试类:com.zzz.ssjpa.controller.UserController(包结构看前面关于springboot文章),代码如下:
package com.zzz.ssjpa.controller;
import java.io.IOException;
import org.json.JSONException;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.github.qcloudsms.SmsSingleSender;
import com.github.qcloudsms.SmsSingleSenderResult;
import com.github.qcloudsms.httpclient.HTTPException;
@RestController
public class UserController {
/**
* @Title: test
* @Description: 给手机发送短信
* @param: @return 参数
* @return: String 返回类型
* @throws
*/
@RequestMapping("/test")
public String test() {
//appid appkey
int appid = xxx;
String appkey = "xxx";
//短信模板id
int templateId = xxx;
//签名的名字
String smsSign = "玄尺软件编程公众号";
//给谁发
String phoneNumber = "xxx";
//验证码
String[] params = {"1234"};
SmsSingleSender sender = new SmsSingleSender(appid, appkey);
//地区、电话、模板id、验证码、签名
try {
SmsSingleSenderResult result = sender.sendWithParam("86", phoneNumber, templateId, params, smsSign, "", "");
System.out.println(result);
} catch (HTTPException | JSONException | IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return "success";
}
}
7、运行主程序测试
手机收到验证码就表示成功了。Good luck。