发送短信工具类:
package com.xz.worker.util;
import com.github.qcloudsms.SmsSingleSender;
import com.github.qcloudsms.SmsSingleSenderResult;
import org.json.JSONException;
import javax.xml.ws.http.HTTPException;
import java.io.IOException;
import java.util.Random;
/**
* @author zagwk
* @version 1.0
* @date 2020/7/25 0025 14:00
*/
public class SMSUtil {
//短信应用SDKAppId
private int appid = 111111111;
// 短信应用SDKAppKey
private String appkey = "ajdhfa546afe654fa";
// 短信模板ID,需要在短信应用中申请
private int templateId = 456489;
// 签名
// NOTE:真实的签名需要在短信控制台中申请,另外签名参数使用的是`签名内容`,而不是`签名ID`
private String smsSign = "xxxxx";
/**
* * 发送短信验证码
* *
* * @paramtel 电话号码
* * @paramverifyCode 验证码
* * @return
*
*/
public String sendCaptcha(String tel, String verifyCode) {
try {
// 需要发送短信的手机号码
String phoneNumber = tel;
// 单发短信
// SmsSingleSender ssender = new SmsSingleSender(appid, appkey);
// SmsSingleSenderResult result = ssender.send(0, "86", phoneNumber, "您正在注册成为好学堂用户,您的验证码为:" + verifyCode + ",请在10分钟内完成验证,感谢您的支持!", "", "");
// 指定模板ID单发短信
String[] params = {verifyCode};
SmsSingleSender ssender = new SmsSingleSender(appid, appkey);
SmsSingleSenderResult result = ssender.sendWithParam("86", phoneNumber, templateId, params, smsSign, "", "");
//返回验证码
return verifyCode;
// 签名参数未提供或者为空时,会使用默认签名发送短信
// System.out.print(result);
} catch (HTTPException e) {
// HTTP响应码错误
e.printStackTrace();
} catch (JSONException e) {
// json解析错误
e.printStackTrace();
} catch (IOException e) {
// 网络IO错误
e.printStackTrace();
}catch (com.github.qcloudsms.httpclient.HTTPException e){
e.printStackTrace();
}
return null;
}
}
腾讯云控制台:
https://console.cloud.tencent.com/
短信应用SDKAppId
短信应用SDKAppKey
短信模板ID,需要在短信应用中申请
签名参数使用的是`签名内容`,而不是`签名ID`