Error message here!

Hide Error message here!

忘记密码?

Error message here!

请输入正确邮箱

Hide Error message here!

密码丢失?请输入您的电子邮件地址。您将收到一个重设密码链接。

Error message here!

返回登录

Close

实现springboot对接腾讯云短信

TiAmo_K 2019-12-02 21:52:00 阅读数:11 评论数:0 点赞数:0 收藏数:0

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 放在方法参数是为了其他短信模版可以通用此方法!

 

版权声明
本文为[TiAmo_K]所创,转载请带上原文链接,感谢
https://www.cnblogs.com/LKiss/p/11973543.html