1,导入pom依赖
<dependency> <groupId>com.github.qcloudsms</groupId> <artifactId>qcloudsms</artifactId> <version>1.0.6</version> </dependency>
2,编写工具类
package com.chesupi.message.util; import com.github.qcloudsms.SmsSingleSender; import com.github.qcloudsms.SmsSingleSenderResult; import lombok.extern.slf4j.Slf4j; @Slf4j public class SmsUtil { private final static int appid = 1400XXXXXX; private final static String appkey = "6def9c1d5314bce4070e4b4xxxxxxxxx"; public static String sendMessage(int templateId, String smsSign, String phoneNumber,String[] replacedValues) { String status = ""; //给手机发送短信 //1.腾讯云自己项目的AppID //2.腾讯云自己项目的Appkey //3 短信的模板ID templateId //4 签名的名字 smsSign //5 .给谁发 phoneNumber //String phoneNumber = "17671775xxx"; //6. 验证码:手动不随机验证码 最多六位数 只能是数字 // String[] params = {"876032"}; //7.发送短信对象 SmsSingleSender ssender = new SmsSingleSender(appid,appkey); //地区,电话,模板ID,验证码,签名 try { SmsSingleSenderResult result = ssender.sendWithParam("86", phoneNumber, templateId, replacedValues, smsSign, "", ""); status=result.errMsg; log.info("sms send status,template id [{}],phone is [{}],status is [{}] ",templateId,phoneNumber,status); } catch (Exception e){ log.info("sms send status,template id [{}],phone is [{}],status is [{}] ",templateId,phoneNumber,status,e); } return status; // 此处的status只有发送成功是"OK" }
3,调用工具类发送短信
package com.chesupi.message.service; import com.chesupi.message.util.SmsUtil; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; @Component @Slf4j public class DealerRegisterMessageReceiver { /** * 接收消息方法 */ public void receiverMessage(String message) { try { log.info("用户注册收到一条新消息:[{}]", message); String[] messageArray=message.split(","); String phoneNumber = messageArray[0]; String[] replacedValues={messageArray[1]}; SmsUtil.sendMessage(888878,"短信签名名字", phoneNumber,replacedValues); // 888878 是templateId “短信签名名字” 这个是腾讯天申请的短信签名 replacedValues 是短信内容需要的参数 }catch (Exception e){ log.error("send sms exception, message is [{}]",message); } } }
完成!
把templateId smsSign 放在方法参数是为了其他短信模版可以通用此方法!