发送短信工具类:
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`