1、在腾讯云平台中 开通短信服务
2、发送短信
2.1引用jar包
xml
<dependency>
<groupId>com.tencentcloudapi</groupId>
<artifactId>tencentcloud-sdk-java-sms</artifactId>
<version>3.1.1043</version>
</dependency>
2.2
发送短信内容:
java
public SendResult send(SMData data) throws Exception {
SendResult sendResult = new SendResult();
try{
// 实例化一个认证对象,入参需要传入腾讯云账户 SecretId 和 SecretKey,此处还需注意密钥对的保密
// 代码泄露可能会导致 SecretId 和 SecretKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考,建议采用更安全的方式来使用密钥,请参见:https://cloud.tencent.com/document/product/1278/85305
// 密钥可前往官网控制台 https://console.cloud.tencent.com/cam/capi 进行获取
// 实例化一个http选项,可选的,没有特殊需求可以跳过
HttpProfile httpProfile = new HttpProfile();
httpProfile.setEndpoint("sms.tencentcloudapi.com");
// 实例化一个client选项,可选的,没有特殊需求可以跳过
ClientProfile clientProfile = new ClientProfile();
clientProfile.setHttpProfile(httpProfile);
// 实例化要请求产品的client对象,clientProfile是可选的
SmsClient client = new SmsClient(new Credential(getParamValue("SecretId"), getParamValue("SecretKey")), "ap-guangzhou", clientProfile);
// 实例化一个请求对象,每个接口都会对应一个request对象
SendSmsRequest req = new SendSmsRequest();
String[] phoneNumberSet1 = {data.getReveivePhoneList()};
req.setPhoneNumberSet(phoneNumberSet1);
req.setSmsSdkAppId(getParamValue("SDKAppID"));
req.setTemplateId(getParamValue("msg_template"));
req.setSignName(getParamValue("signName"));
//短信内容 参数个数和模板中数量匹配
String[] param = {data.getContent()};
req.setTemplateParamSet(param);
// 返回的resp是一个SendSmsResponse的实例,与请求对象对应
SendSmsResponse resp = client.SendSms(req);
SendStatus status = resp.getSendStatusSet()[0];
sendResult.setMessage(status.getMessage());
sendResult.setSuccess(status.getCode().equalsIgnoreCase("ok"));
String res = AbstractModel.toJsonString(resp);
// 输出json格式的字符串回包
LogHelper.Log("log_send_msg response:", res);
} catch (TencentCloudSDKException e) {
e.printStackTrace();
LogHelper.Log("log_send_msg error:", e.getMessage());
}
return sendResult;
}