引入依赖
com.tencentcloudapi tencentcloud-sdk-java3.1.270
核心代码如下:
public class SendSmsUtil {
@Value("${sms.appId}")
private String appId;
@Value("${sms.secretId}")
private String secretId;
@Value("${sms.secretKey}")
private String secretKey;
@Value("${sms.signName}")
private String signName;
@Value("${sms.templateId}")
private String templateId;
public String sendSmsUtil(String phone) {
String code = RandomUtil.getRandomToNum(6);
try {
//实例化认证对象
Credential credential = new Credential(secretId, secretKey);
//创建http连接
HttpProfile httpProfile = new HttpProfile();
httpProfile.setReqMethod("POST");
httpProfile.setConnTimeout(60);
httpProfile.setEndpoint("sms.tencentcloudapi.com");
//实例化客户端对象
ClientProfile clientProfile = new ClientProfile();
clientProfile.setSignMethod("HmacSHA256");
clientProfile.setHttpProfile(httpProfile);
SmsClient client = new SmsClient(credential, "ap-guangzhou", clientProfile);
//实例化一个请求对象,根据调用的接口和实际情况,可以进一步设置请求参数
SendSmsRequest req = new SendSmsRequest();
// 应用 ID 可前往 [短信控制台](https://console.cloud.tencent.com/smsv2/app-manage) 查看
req.setSmsSdkAppId(appId);
// 签名信息可前往 [国内短信](https://console.cloud.tencent.com/smsv2/csms-sign) 或 [国际/港澳台短信](https://console.cloud.tencent.com/smsv2/isms-sign) 的签名管理查看
req.setSignName(signName);
// 模板 ID 可前往 [国内短信](https://console.cloud.tencent.com/smsv2/csms-template) 或 [国际/港澳台短信](https://console.cloud.tencent.com/smsv2/isms-template) 的正文模板管理查看
req.setTemplateId(templateId);
String[] templateParamSet = {code};
req.setTemplateParamSet(templateParamSet);
String[] phoneNumberSet = {"+86"+phone};
req.setPhoneNumberSet(phoneNumberSet);
String sessionContext = "";
req.setSessionContext(sessionContext);
String extendCode = "";
req.setExtendCode(extendCode);
String senderid = "";
req.setSenderId(senderid);
SendSmsResponse res = client.SendSms(req);
// 输出json格式的字符串回包
System.out.println(SendSmsResponse.toJsonString(res));
} catch (TencentCloudSDKException e) {
e.printStackTrace();
}
return code;
}
}
一些参数自行去腾讯云查看即可
刚购买短信服务的时候,需要去短信控制台里面申请签名和短信模板,就可以得到signName和 templateId



