實現springboot對接騰訊雲短信

1,導入pom依賴git

1      <dependency>
2             <groupId>com.github.qcloudsms</groupId>
3             <artifactId>qcloudsms</artifactId>
4             <version>1.0.6</version>
5         </dependency>

2,編寫工具類github

 1 package com.chesupi.message.util;  2 
 3 import com.github.qcloudsms.SmsSingleSender;  4 import com.github.qcloudsms.SmsSingleSenderResult;  5 import lombok.extern.slf4j.Slf4j;  6 
 7 @Slf4j  8 public class SmsUtil {  9     private final static int appid = 1400XXXXXX; 10     private final static String appkey = "6def9c1d5314bce4070e4b4xxxxxxxxx"; 11 
12     public static String sendMessage(int templateId, String smsSign, String phoneNumber,String[] replacedValues) { 13 
14         String status = ""; 15         //給手機發送短信 16         //1.騰訊雲本身項目的AppID 17         //2.騰訊雲本身項目的Appkey 18         //3 短信的模板ID templateId 19         //4 簽名的名字 smsSign 20         //5 .給誰發 phoneNumber 21         //String phoneNumber = "17671775xxx"; 22         //6. 驗證碼:手動不隨機驗證碼 最多六位數 只能是數字 23         // String[] params = {"876032"}; 24         //7.發送短信對象
25         SmsSingleSender ssender = new SmsSingleSender(appid,appkey); 26 
27         //地區,電話,模板ID,驗證碼,簽名
28         try { 29             SmsSingleSenderResult result = ssender.sendWithParam("86", phoneNumber, templateId, replacedValues, smsSign, "", ""); 30             status=result.errMsg; 31             log.info("sms send status,template id [{}],phone is [{}],status is [{}] ",templateId,phoneNumber,status); 32         } catch (Exception e){ 33             log.info("sms send status,template id [{}],phone is [{}],status is [{}] ",templateId,phoneNumber,status,e); 34  } 35         return status; // 此處的status只有發送成功是"OK" 36     }

3,調用工具類發送短信spring

 1 package com.chesupi.message.service;  2 
 3 import com.chesupi.message.util.SmsUtil;  4 import lombok.extern.slf4j.Slf4j;  5 import org.springframework.stereotype.Component;  6 
 7 @Component  8 @Slf4j  9 public class DealerRegisterMessageReceiver { 10 
11     /**
12  * 接收消息方法 13      */
14     public void receiverMessage(String message) { 15         try { 16             log.info("用戶註冊收到一條新消息:[{}]", message); 17             String[] messageArray=message.split(","); 18             String phoneNumber = messageArray[0]; 19             String[] replacedValues={messageArray[1]}; 20             SmsUtil.sendMessage(888878,"短信簽名名字", phoneNumber,replacedValues);  // 888878 是templateId 「短信簽名名字」 這個是騰訊天申請的短信簽名 replacedValues 是短信內容須要的參數
21         }catch (Exception e){ 22             log.error("send sms exception, message is [{}]",message); 23  } 24  } 25 
26 
27 }

完成! app

 

把templateId smsSign 放在方法參數是爲了其餘短信模版能夠通用此方法!工具

相關文章
相關標籤/搜索